GCD学习 Main Dispatch Queue/Global Dispatch Queue

本文详细介绍了Grand Central Dispatch (GCD) 中的两种主要队列:MainDispatchQueue和GlobalDispatchQueue。MainDispatchQueue用于更新UI任务,而GlobalDispatchQueue则为并发队列,支持设置不同优先级的任务执行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上节笔记中介绍了如何创建queue,通过dispatch_queue_create() 函数得到我们想要的queue,其实不用特意去创建Dispatch Queue,系统为我们实现了几个,一个是Main Dispatch Queue 一个是Global Dispatch Queue。

        Main Dispatch Queue 将任务放在主线程中去执行,可以将一些更新UI的任务追加到该Queue中,这个和NSObject类提供的performSelectorOnMainThread方法执行的效果一样。

        Global Dispatch Queue 是所有应用程序都能够使用的Concurrent Dispatch Queue。不用刻意的去创建一个Concurrent 的Queue。只要获得系统的这个即可。

       追加到Global Dispatch Queue中的线程可以设置优先级,优先级分为四种,高优先级,默认优先级,和低优先级,以及后台优先级,可以根据需求选择执行的优先级。

        对于使用Main Dispatch Queue 和 Global Dispatch Queue 执行 dispatch_retain 和 dispatch_release 函数不会引起任何变化,也没有任何问题。比起使用dispatch_queue_create()函数创建的queue,使用和释放要省事的多,所以采用系统的提供的就足够用了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值