GCD
文章平均质量分 80
听榆大叔
湖南理工学院
展开
-
GCD之二:dispatch_queue_create
第一种方法是通过GCD的API生成Dispatch Queue。通过dispatch_queue_create函数可生成Dispatch Queue。以下源代码生成了Serial Dispatch Queue。dispatch_queue_t mySerialDispatchQueue = dispatch_queue_create(“com.example.gcd.MySerialDis原创 2014-04-05 15:04:11 · 12014 阅读 · 1 评论 -
GCD 之三: Main Dispatch Queue/Global Dispatch Queue
第二种方法是获取系统标准提供的Dispatch Queue。 实际上不用特意生成Dispatch Queue系统也会给我们提供几个。那就是Main Dispatch Queue和Global Dispatch Queue。 Main Dispatch Queue正如其名称中含有的“Main”一样,是在主线程中执行的Dispatch Queue。因为主线程只有1个,所原创 2014-04-06 22:03:05 · 2981 阅读 · 0 评论 -
GCD 之一: Dispatch Queue
Grand Central Dispatch(GCD)是异步执行任务的技术之一。一般将应用程序中记述的线程管理用的代码在系统级中实现。开发者只需要定义想执行的任务并追加到适当的Dispatch Queue中,GCD就能生成必要的线程并计划执行任务。由于线程管理是作为系统的一部分来实现的,因此可统一管理,也可执行任务,这样就比以前的线程更有效率。1、Dispatch Queue原创 2014-04-04 23:44:13 · 1041 阅读 · 0 评论 -
GCD 之四:Dispatch Group
在追加到Dispatch Queue中的多个处理全部结束后想执行结束处理,这种情况会经常出现。只使用一个Serial Dispatch Queue时,只要将想执行的处理全部追加到该Serial Dispatch Queue中并在最后追加结束处理,即可实现。但是在使用Concurrent Dispatch Queue时或同时使用多个Dispatch Queue时,源代码就会变得颇为复杂。原创 2014-04-07 18:39:59 · 2040 阅读 · 0 评论 -
GCD之五:dispatch_barrier_async
在访问数据库或文件时,使用Serial Dispatch Queue可避免数据竞争的问题。 写入处理确实不可与其他的写入处理以及包含读取处理的其他某些处理并行执行。但是如果读取处理只是读取处理并行执行,那么多个并行执行就不会发生问题。 也就是说,为了高效率地进行访问,读取处理追加到Concurrent Dispatch Queue中,写入处理在任一个读取处理没有执行的状态下,追原创 2014-04-08 22:27:20 · 1484 阅读 · 0 评论