做了这么多年学渣,一直没好好去理解,这次得认真了,感恩网络的好资源。

进程就是一个运行中的程序,而线程就是一个进程运行的路径,一个进程至少有一个主线程。在ios系统中主线程负责ui更新。有三种方法管理:

  1. gcd. 程序员只需要管理队列和任务,不需要直接管理线程的分配和生命周期。程序员只需要把操作放入队列中即可,操作的执行是通过block语法

    队列可以分为串行、并行、全局、主线程队列,任务分为同步、异步任务

    串行队列,同步任务,不创建新线程,还由主线程执行

    串行队列,异步任务,创建一个子线程,

    并行队列,同步任务,不会创建新线程,主线程顺序执行

    并行队列,异步任务,会创建n个线程异步执行,具体地由cpu定,程序员不能控制