gpt4 book ai didi

ios - GCD 与自定义队列

转载 作者:行者123 更新时间:2023-12-02 19:39:02 29 4
gpt4 key购买 nike

我想知道这两者之间的性能差异是什么。

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{

// perform complex operation

// dispatch back to main thread to update UI

});



dispatch_async(_myCustomConcurrentQueue, ^{

// perform complex operation

// dispatch back to main thread to update UI

});

我的假设是 GCD 跨操作系统和其他应用程序使用,它需要执行非常快速的后台任务,并快速完成。创建的自定义队列与 GCD 是分开的,它们可以运行不同的任务,并且一旦被释放就会被添加回池中。因此,我的假设是,对于复杂操作,我的 customQueue 的性能优于 GCD。

你有什么想法?哪个表现更好?它们是一样的吗?

最佳答案

虽然高优先级全局队列理论上可能更快(因为您不必创建队列,线程优先级略有不同),但它与您自己的自定义并发队列之间的差异不太可能被观察到。不过,您可能想要使用自己的自定义队列有两个原因:

  1. 某些功能(尤其是调度屏障)在全局队列中不可用,因此如果您需要这些功能,则需要使用自定义队列。

  2. 调试您的应用时,使用您自己的具有有意义名称的队列也很有用,这样您就可以更轻松地识别调试器中的各个线程。

但是选择高优先级全局并发队列与自定义并发队列并没有实质性的性能原因。

关于ios - GCD 与自定义队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22029166/

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