GCD学习 Main Dispatch Queue/Global Dispatch Queue

来源:互联网 发布:js数组find方法举例 编辑:程序博客网 时间:2024/04/30 17:00

上节笔记中介绍了如何创建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,使用和释放要省事的多,所以采用系统的提供的就足够用了。

0 0
原创粉丝点击