前言:

     前天学了IOS的NSOperation基本使用,我们得知NSOperation也是基于IOS GCD(Grand Central Dispatch)实现,其实在做IOS开发中GCD已经基本上能够满足大部分需求。作为IOS开发工程师很有必要对GCD做个全面了解,今天一边写demo一边对比总结一下GCD使用。

了解GCD

    GCD是Grand Central Dispatch的简称,它是基于C语言的。如果使用GCD,完全由系统管理线程,我们不需要编写线程代码。只需定义想要执行的任务,然后添加到适当的调度队列(dispatch queue)。GCD会负责创建线程和调度你的任务,系统直接提供线程管理。

执行方式

    使用线程就离不开线程队列的执行方式和任务的执行方式,大致分以下几个:

  • 串行(Serial):让任务一个接着一个地执行(一个任务执行完毕后,再执行下一个任务)

  • 并行(Concurrent):可以让多个任务并发(同时)执行(自动开启多个线程同时执行任务)并发功能只有在异步(dispatch_async)函数下才有效。

  • 同步(Synchronous):在当前线程中执行任务,不具备开启新线程的能力

  • 异步(Asynchronous):在新的线程中执行任务,具备开启新线程的能力

调度队列

    上面了解到Dispatch 通过分发开发者提供的不同queue来调度任务,我们来看下GCD有哪些队列。

队列类型创建方式

主线程串行队列(mian)

dispatch_get_main_queue();

延伸阅读

学习是年轻人改变自己的最好方式-Java培训,做最负责任的教育,学习改变命运,软件学习,再就业,大学生如何就业,帮大学生找到好工作,lphotoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训学习是年轻人改变自己的最好方式

我想了解如何学习

姓名:
手机:
留言: