dispatch_async 和 dispatch_sync 决定调用该函数的线程是否被阻塞。
dispatch_async 一定会开启新线程执行block
dispatch_sync 一定不会开启新线程执行block
队列仅仅是一个block执行的环境,保证 FIFO
产生死锁充要条件: 在同一个串行队列中,同步的向这个串行队列执行任务。
更正
任务的执行是在队列中,队列可以在不同的线程中运行。
如果阻塞当前线程,那么任务在当前线程执行,否则另开线程执行任务。
不管什么队列,执行的顺序都是FIFO。


错误示例1

错误示例2

网友评论