NSEnumerationConcurrent是否保证多线程?

Ton*_*ony 3 cocoa multithreading

如果NSEnumerationConcurrent在使用块枚举集合时使用,Cocoa是否保证该块将同时执行?或者它实际上取决于需要枚举的对象数量?另外,当操作实际上是并发时,Cocoa如何决定启动多少线程?

编辑:其他问题

另一方面,是枚举NSEnumerationConcurrent选项同步还是异步的集合?换句话说,如果您在枚举代码下面有一些代码,它是否仅在所有并发枚举完成后才执行?(线程加入?)

Fir*_*eer 5

不,NSEnumerationConcurrent不保证块将同时执行.

并且,是的,例如,如果您使用 - [NSArray enumerateObjectsWithOptions:usingBlock:]该调用将不会返回,直到枚举完成.

如果指定,当前实现似乎会在全局普通优先级GCD队列上调度这些块NSEnumerationConcurrent.我确信不能保证永远是真的.

希望有所帮助.