关于多线程GCD 串行/并行、同步/异步

一、GCD串行/并行队列创建

串行队列:

并行队列:

二、GCD串行/并行队列同步/异步执行

执行内容1:

并行、同步执行内容1

执行结果1:

并行、同步执行结果1

执行内容2:

并行、异步执行内容2

执行结果2:

并行、异步执行结果2

执行内容3:

串行、同步执行内容3

执行结果3:

串行、同步执行结果3

执行内容4:

串行、异步执行内容4

执行结果4:

串行、异步执行结果4

三、总结:

由上面代码示例可以看出,串行队列就是在一个线程执行的队列:如果是当前线程,那就是串行同步队列(因为同步机制会阻塞当前线程),如果是新开辟的子线程,就是串行异步队列;并发队列如果是在当前线程中执行,就是并发同步队列,在新开辟的多个子线程中执行就是并发异步队列。

综上所述,我们平时使用最多的自然是并发异步队列,比如开辟多个子线程下载图片、文件等。另外由于串行队列中添加的任务会按加入的顺序执行,所以可以用来解决开发中关于资源抢夺的问题。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 从哪说起呢? 单纯讲多线程编程真的不知道从哪下嘴。。 不如我直接引用一个最简单的问题,以这个作为切入点好了 在ma...
    Mr_Baymax阅读 7,780评论 1 17
  • iOS多线程编程 基本知识 1. 进程(process) 进程是指在系统中正在运行的一个应用程序,就是一段程序的执...
    陵无山阅读 11,298评论 1 14
  • 系列文章: 多线程 多线程 pthread、NSThread 多线程 GCD 多线程 NSOperation 多线...
    林安530阅读 2,885评论 0 0
  • 亲子日记300篇9月8日,星期六,天气:晴 今天是写亲子日记第300篇,由于坚持和坚定,没有了最初写100篇,20...
    杨梓萌妈妈阅读 1,807评论 0 1
  • 和雅罗阅读 2,463评论 0 0