进程、线程、队列(串行队列、并行队列)、同步(dispatch_sync)、异步(dispatch_async)、并发、并行、阻塞、死锁
进程指一段正在执行的程序。一个进程可以拥有多个线程,各个线程之间共享程序的内存空间
线程指程序在执行过程中,能够执行程序代码的一个执行单元。线程是程序执行的最小单元
队列是用来承载任务的,任务承载的容器
同步、异步是用来给队列追加任务的
添加的任务由线程来执行
队列特点:先进先出(FIFO)
串行队列:执行队列中的任务时,后执行的任务会等待先执行的任务执行结束再执行,在时间轴上有明显的先后顺序
并行队列:执行队列中的任务时,不会等待上一个任务执行结束就会立即执行下一个任务,在时间轴上任务看起来是同时执行
并发:同一时间点出现的任务有多个
并行:同一时间同时执行多个任务,多线程决定并行的发生
同步(dispatch_sync):给队列追加任务,dispatch_sync 函数会等待任务执行完后返回,造成线程等待,即阻塞线程
异步 (dispatch_async):给队列追加任务,dispatch_async 函数不做任何等待就会返回,因此不会造成线程阻塞
阻塞:阻塞是阻塞的线程,即线程阻塞,同步函数会造成线程阻塞
死锁:给串行队列添加同步任务时,如果串行队列与当前线程的队列是同一个队列就会造成死锁
网友评论