gpt4 book ai didi

iphone - 如何并行处理数组

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

因此,有多种方法可以通过选择器或代码块运行数组的所有元素。 makeObjectsPerformSelector:以及更多

如果您手头有 4 个或 16 个核心,您可能希望将所有处理发送到不同的进程。

即使在 iOS 上,将它们全部送走也可能是明智的做法,或者至少让它们完成,无论风向如何。

在 cocoa 环境中执行此操作的最佳和最简洁的方法是什么

同样,如果您想随时将它们发送出去,即在执行以下指令之前不要等待枚举完成,该怎么办? ..?

最佳答案

如果您想要并发和同步行为(即,在执行以下指令之前等待枚举完成),-[NSArray enumerateObjectsWithOptions:usingBlock:]如果您通过 NSEnumerationConcurrent 就会这样做选项。此方法适用于 Mac OS 10.6+ 和 iOS 4.0+。

如果您想要异步行为,您可以使用标准多线程解决方案之一,例如 NSOperation 或 GCD 与 -enumerateObjectsWithOptions:usingBlock: 相结合。 。例如,

dispatch_async(dispatch_get_global_queue(0, 0), ^{
[array enumerateObjectsWithOptions:NSEnumerationConcurrent
usingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
// do something with obj
}];
});

关于iphone - 如何并行处理数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4588289/

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