iOS29 -- 多线程基本概念

2020-12-18  本文已影响0人  恋空K
后三种都是基于pthread的封装
同步和异步决定是否能开启新的线程,并发和串行决定开多少条线程(并发和串行(也就是队列)不具备开启新线程的能力)。使用同步执行或者异步执行,并不影响任务是并发执行还是串行执行,它只影响你这个任务是在哪一个线程执行
主队列的任务都是在主线程执行的,主队列是一种特殊的串行对列,全局并发队列就是一种普通的并发队列
同步就是在当前线程执行任务。队列不能决定是否要开线程,队列只能决定任务的执行方式(是一个接着一个执行
还是多个同时执行)

从主队列中取出任务去执行的话,得先等上一个任务要执行完。只有上一个任务执行完,才能从主队列中取出下一个任务去执行


不会产生锁死

会产生锁死

不会产生锁死

不会产生锁死
同步往并发队列里面添加任务不会产生锁死。只有同步往串行队列中添加任务才会造成线程锁死
同步往同一个串行队列添加任务,会造成锁死
上一篇 下一篇

猜你喜欢

热点阅读