在 iPhone 上,我想在单独的线程中对图像进行一些操作。我不想处理信号量、锁定等,而是想使用“一个对象,一个线程”的方法来安全地编写这个并发操作。我不确定将我的对象复制到新线程的正确方法是什么,这样该对象就不会在主线程中被访问。我使用“复制”方法吗?如果是这样,我是在线程之前还是在线程内部执行此操作?
...
-(void)someMethod{
UIImage *myImage;
[NSThread detachNewThreadSelector:@selector(getRotatedImage:) toTarget:self withObject:myImage];
}
-(void)getRotatedImage:(UIImage *)image{
...
...
UIImage *copiedImage = [image copy];
...
...
}
最佳答案
通常,当实现这样的事情时,您不会为每个对象创建一个线程 - 相反,当您为对象做某事时,您将其排队等待线程池处理。
根据对象的数量,每个对象一个线程的扩展性不会很大。
关于iPhone:一个对象,一个线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2430193/