1.1、线程、任务、队列
线程----程序执行任务的最小调度单元
任务----说白了就是一段代码,block中要执行的内容
队列----存储任务的数组
1.2串行、并行、同步、异步
1⃣️异步执行意味着
•可以开辟线程
•任务可以绕过先不执行,回头再执行
2⃣️同步执行意味着
•不能开辟线程
•任务创建后必须执行完之后,才能向下执行
3⃣️并行队列意味着
•任务可以不用相互等待,同时执行
4⃣️串行队列意味着
•任务按添加进队列的顺序执行,执行完一个再执行另一个

•异步任务具备开辟线程的能力
•同步任务不具备开辟线程的能力

1.2.1、串行队列+异步任务

打印结果

由上可见:开辟一条线程,异步任务可过后执行
1.2.2、串行队列+同步任务

打印结果

由上可见,未开辟线程,在主线程执行,按顺序执行任务
1.2.3、并行队列+异步任务

打印结果

由上可见,开辟了新的线程,任务同步执行
1.2.4、并行队列+同步任务

运行结果

由上可见,同步任务不具备开辟线程功能,任务按顺序执行
1.2.5、主队列+同步任务

运行结果

由上可见,在主线程添加同步任务,线程阻塞,导致崩溃
1.2.6、主线程+异步任务

运行结果

由上可见,主线程+异步任务,不开辟线程,任务按顺序执行
网友评论