多线程(GCD)

进程和线程的概念

进程:程序是运行在内存中,进程负责分配内存

线程:负责程序中代码的实际运行。分类:主线程(一条),子线程(多条),并能自动回收。

队列的概念

队列不是线程,也不表示对应的cpu,队列就是负责调度的,谁空闲就把任务给谁。

队列的分类

串行队列(serial),任务按照先进先出的顺序一个个地执行。在串行队列中,无论同步还是异步,执行效果一样。

并行队列(concurrent),任务执行时并发的,顺序无法掌握,在相同的时间间隔执行不一样的任务。

执行方式

同步/异步:考虑的是任务在当前线程执行还是开启新的线程执行。

gcd几个队列

1.主线程

属于串行队列,同步执行时:线程会发生阻塞,因为主线程不会结束,除非程序被“杀死”,所以由于执行中,由于cpu没有分配时间来执行任务,所以导致线程阻塞。

异步执行:不创建新的线程,任务的执行保持队列。

注意:UI的更新在该线程执行。

2.全局线程:

所以程序都可以使用,直接get就行。属于并发队列,没有固定的名称。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容