最近,我正在学习并发在迅速。根据苹果的文档中NSOperation class reference
:是在异步同步异步
当你添加一个操作到操作队列,队列会忽略异步属性的值,并总是调用从一个单独的线程启动方法。因此,如果您始终通过将操作添加到操作队列来运行操作,则没有理由使它们异步。
是不是意味着同步在一个单独的线程中是异步的?当我用下面的代码进行测试时,操作确实不会阻塞当前的主线程。
let operationQueue = NSOperationQueue()
let operation = NSBlockOperation(){
//do some task here
}
operationQueue.addOperation(operation)
所以如果它是真的,那么我们为什么要创建NSOperation的并发子类呢?
真的很感谢。如果我理解正确,你的意思是同步在一个单独的线程确实是异步。实际上,使用'NSOperationQueue'时不需要改变异步属性。 – rrrain
两个计数都正确。 –