多线程(GCD)

2016-03-27  本文已影响29人  47号同学

进程和线程的概念

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

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

队列的概念

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

队列的分类

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

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

执行方式

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

gcd几个队列

1.主线程

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

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

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

2.全局线程:

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

上一篇 下一篇

猜你喜欢

热点阅读