gpt4 book ai didi

multithreading - NSEnumerationConcurrent 能保证多线程吗?

转载 作者:行者123 更新时间:2023-12-03 16:18:00 24 4
gpt4 key购买 nike

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

编辑:附加问题

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

最佳答案

不,NSEnumerationConcurrent 不保证这些 block 将同时执行。

并且,是的,例如,如果您使用 -[NSArray enumerateObjectsWithOptions:usingBlock:],则该调用在枚举完成之前不会返回。

如果您指定NSEnumerationConcurrent,当前的实现似乎会将这些 block 安排在全局普通优先级 GCD 队列上。我确信这并不能保证永远正确。

希望有帮助。

关于multithreading - NSEnumerationConcurrent 能保证多线程吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8621449/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com