多线程的理解——队列与执行方式

多线程的理解——队列与执行方式

1.队列类型

  • 串行队列:顺序执行,一次执行一个任务。依次从队列中取出一个任务执行,必须一个任务执行完了,才能从队列里面取出下一个任务。
  • 并行队列:任务是按照加入到队列中的顺序开始执行,但任务完成时的顺序是不确定的。
  • 主队列:主线程中的串行队列(系统默认创建)。
  • 全局队列:是全局的并行队列(系统默认创建。几乎等效于并行队列)。

2.执行方式

  • 同步执行sync:不开新线程
  • 异步执行async:开辟新线程

3.队列与执行方式

  • 串行队列同步执行:不开线程,在原来线程里面一个一个顺序执行
  • 串行队列异步执行:开一条线程,在这个新线程里面一个一个顺序执行
  • 并行队列同步执行:不开线程,在原来线程里面执行
  • 并行队列异步执行:开多个线程,并发执行(不一定是一个一个)执行

4.死锁问题

死锁问题的理解,可参考:《为什么dispatch_sync在主线程会死锁》

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

请我喝杯咖啡吧~

支付宝
微信