1  dispatch_queue_t _serialQueue = dispatch_queue_create("gao mao a", DISPATCH_QUEUE_SERIAL);
 2     //(两个队列,都是同步的时候,就没什么卵用了,一个队列就够了)
 3     dispatch_queue_t _gaomaoa  = dispatch_queue_create("gao maoss a", DISPATCH_QUEUE_SERIAL);
 4
 5     NSLog(@"wo ca lei ge da ye =======  1  \n");
 6     //同步
 7     dispatch_async(_gaomaoa, ^{
 8         NSLog(@"wo ca lei ge da ye =======  2  \n");
 9         NSLog(@"wo ca lei ge da ye =======  2  \n");
10         NSLog(@"wo ca lei ge da ye =======  2  \n");
11         NSLog(@"wo ca lei ge da ye =======  2  \n");
12         NSLog(@"wo ca lei ge da ye =======  2  \n");
13     });
14     //异步
15     dispatch_sync(_serialQueue, ^{
16         NSLog(@"wo ca lei ge da ye =======  3  \n");
17         NSLog(@"wo ca lei ge da ye =======  3  \n");
18         NSLog(@"wo ca lei ge da ye =======  3  \n");
19         NSLog(@"wo ca lei ge da ye =======  3  \n");
20         NSLog(@"wo ca lei ge da ye =======  3  \n");
21     });
22
23     dispatch_sync(_serialQueue, ^{
24         NSLog(@"wo ca lei ge da ye =======  4  \n");
25         NSLog(@"wo ca lei ge da ye =======  4  \n");
26         NSLog(@"wo ca lei ge da ye =======  4  \n");
27         NSLog(@"wo ca lei ge da ye =======  4  \n");
28         NSLog(@"wo ca lei ge da ye =======  4  \n");
29     });
30
31     NSLog(@"wo ca lei ge da ye =======  5  \n");
32
33     NSLog(@"wo ca lei ge da ye =======  6  \n");

打印结果

2016-03-29 16:33:07.522 neeq_second[903:130796] wo ca lei ge da ye =======  1  

2016-03-29 16:33:07.523 neeq_second[903:130796] wo ca lei ge da ye =======  3  

2016-03-29 16:33:07.523 neeq_second[903:130815] wo ca lei ge da ye =======  2  

2016-03-29 16:33:07.523 neeq_second[903:130796] wo ca lei ge da ye =======  3  

2016-03-29 16:33:07.523 neeq_second[903:130815] wo ca lei ge da ye =======  2  

2016-03-29 16:33:07.523 neeq_second[903:130796] wo ca lei ge da ye =======  3  

2016-03-29 16:33:07.523 neeq_second[903:130815] wo ca lei ge da ye =======  2  

2016-03-29 16:33:07.523 neeq_second[903:130796] wo ca lei ge da ye =======  3  

2016-03-29 16:33:07.523 neeq_second[903:130815] wo ca lei ge da ye =======  2  

2016-03-29 16:33:07.524 neeq_second[903:130796] wo ca lei ge da ye =======  3  

2016-03-29 16:33:07.524 neeq_second[903:130815] wo ca lei ge da ye =======  2  

2016-03-29 16:33:07.524 neeq_second[903:130796] wo ca lei ge da ye =======  4  

2016-03-29 16:33:07.524 neeq_second[903:130796] wo ca lei ge da ye =======  4  

2016-03-29 16:33:07.524 neeq_second[903:130796] wo ca lei ge da ye =======  4  

2016-03-29 16:33:07.524 neeq_second[903:130796] wo ca lei ge da ye =======  4  

2016-03-29 16:33:07.525 neeq_second[903:130796] wo ca lei ge da ye =======  4  

2016-03-29 16:33:07.525 neeq_second[903:130796] wo ca lei ge da ye =======  5  

2016-03-29 16:33:07.525 neeq_second[903:130796] wo ca lei ge da ye =======  6  

转载于:https://www.cnblogs.com/-yun/p/5333498.html

线程、同步异步、队列相关推荐

  1. GIL , 线程池 , 同步 , 异步 , 队列 , 事件

    一.什么是GIL 官方解释: ''' In CPython, the global interpreter lock, or GIL, is a mutex that prevents multipl ...

  2. java 多线程(四)—— 线程同步/互斥=队列+锁

    同步.异步.互斥的区别 在很多文章中,直接把同步缩小为互斥,并称之为同步.下面也是这样的. 一.线程同步 = 队列 + 锁 同步(这里说的其实是互斥)就是多个线程同时访问一个资源. 那么如何实现? 队 ...

  3. 阿里软件测试工程师手把手教学—作为测试,如何理解线程同步异步

    案例描述 在日常测试中,当程序加载数据文件时,经常会出现页面卡住.程序不响应.程序崩溃等情况.,调查发现与程序进程中线程的同步和异步有关. 问题描述: 使用文件查看器打开压缩文件时,程序没有响应. 问 ...

  4. linux 线程同步消息队列,Linux 多线程同步之消息队列

    消息队列是消息的链表,存放在内核中并有消息队列标示符标示. msgget用于创建一个新队列或打开一个现存的队列.msgsnd将新消息加入到消息队列中:每个消息包括一个long型的type:和消息缓存: ...

  5. 同步异步 阻塞 非阻塞 异步调用 线程队列 协程

    阻塞 非阻塞 阻塞:程序遇到了IO操作 导致代码无法继续执行 交出了COU执行权 非阻塞:没有IO操作 或者即使遇到IO操作 也不阻塞代码执行 阻塞 就绪 运行指的是应用程序所处的状态写程序时 尽量减 ...

  6. 深度理解GCD线程死锁,队列,同步和异步,串行和并发

    介绍GCD 可以先看看这个 "并发"指的是程序的结构,"并行"指的是程序运行时的状态 https://blog.csdn.net/sinat_35512245/ ...

  7. 【转】1.3异步编程:线程同步基元对象

    开始<异步编程:同步基元对象(上)> 示例:异步编程:线程同步基元对象.rar 如今的应用程序越来越复杂,我们常常需要多线程技术来提高我们应用程序的响应速度.每个线程都由自己的线程ID,当 ...

  8. python 进程池阻塞和非阻塞_python 之 并发编程(进程池与线程池、同步异步阻塞非阻塞、线程queue)...

    9.11 进程池与线程池 池子使用来限制并发的任务数目,限制我们的计算机在一个自己可承受的范围内去并发地执行任务 池子内什么时候装进程:并发的任务属于计算密集型池子内什么时候装线程:并发的任务属于IO ...

  9. iOS oc 线程 进程,同步异步,并发串行,来捋捋

    2019独角兽企业重金招聘Python工程师标准>>> (一)大概念 gcd:使用起来就俩概念 1.任务(你想做的事) 2.队列(存放任务) gcd可以根据你的需要,将你的任务进行排 ...

  10. Python|线程和进程|阻塞|非阻塞|同步|异步|生成器和协程|资源竞争|进程间通信|aiohttp库|daemon属性值详解|语言基础50课:学习(11)

    文章目录 系列目录 原项目地址 第34课:Python中的并发编程-1 线程和进程 多线程编程 使用 Thread 类创建线程对象 继承 Thread 类自定义线程 使用线程池 守护线程 资源竞争 G ...

最新文章

  1. TensorFlow(8)卷积神经网络实战(2)手写卷积池化
  2. 【分块】#6278. 数列分块入门 2 (区间修改、查询权值c在区间中的排名)
  3. mysql查看数据文件ibdata_如何从 ibdata文件 恢复 MySQL 数据库
  4. 【Android NDK 开发】NDK 交叉编译 ( NDK 函数库目录 | Linux 交叉编译环境搭建 | 指定头文件目录 | 指定函数库目录 | 编译 Android 命令行可执行文件 )
  5. android的shadowRadius属性说明
  6. python queue的用法_python Queue模块使用
  7. 干掉勒索病毒的22岁程序员自曝黑历史:中学是电脑白痴
  8. Ansdroid modem 开发(18)---LTE Live PS Performance
  9. 解封装(八):av_seek_frame改变播放进度函数
  10. MongoDB 固定集合详解
  11. 最新html word 分页符,分页符 有什么用
  12. WIN10 SVN图标不显示问题
  13. [NIPS 2018] Stacked Semantics-Guided Attention Model for Fine-Grained Zero-Shot Learning
  14. 声谱图(spectrogram)、FBank(Mel_spectrogram)和 MFCC(Mel倒谱)到底用哪个作为NN输入?
  15. Android实现计算器功能
  16. 20221222 Coppeliasim的视频导出功能
  17. 怎样优化IM即时通讯移动端APP的日志上报机制
  18. (2022年12月最新)SpringBoot远程代码执行whitelabel error page SpEL RCE漏洞复现
  19. 手机电池电量剩余通知
  20. ARM体系架构—ARMv7-A指令集:协处理器指令

热门文章

  1. 私网互联(本质是三层路由)
  2. [bzoj3509][CodeChef]COUNTARI
  3. 欧拉函数之和(51nod 1239)
  4. centos 网络开启
  5. eclips断点调试
  6. 我使用的网址--Hadoop
  7. Centos7中修改Hostname的方法
  8. MapReduce :通过数据具有爷孙关系的结果
  9. ORACLE11.2.0.1升级到11.2.0.3
  10. C# 引用访问权限,很多老手都不懂