首先,我不太熟悉使用线程,而且我正在即时学习。 我有一个在线程 a 中使用并在线程 b 中填充的数组。我想要做的是找到在线程 a 中使用数组之前等待从线程 b 填充数组的最佳实践。
最佳答案
您可以在读取线程中复制数组,以便在读取时它不会更改,也可以@synchronize
对数组的访问:
- (void) writer
{
@synchronized(theArray)
{
[theArray addObject:foo];
}
}
- (void) reader
{
@synchronized(theArray)
{
for (id item in theArray)
[item …];
}
}
关于iphone - 在 Objective-C 中,如何安全地从一个线程填充数组,同时在另一个线程中读取数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/962598/