首先科普一下常见的几个名词,这些名词我们经常见,但容易搞混,希望可以帮到大家。
串行:原理是一个接一个的先进先出的进行执行(FIFO)只会开启一条线程
输出结果
并行:任务以FIFO从序列中移除,然后并发运行,无顺序。它会自动开启多个线程同时执行任务
输出结果
同步:同步会阻塞当前线程,有block的时候会先执行完block块 再往下运行(不开辟线程)
异步:异步不会阻塞当前线程,有block块的时候会先执行完当前线程的任务 再执行block块(开辟线程,线程的个数系统决定)
dispatch_group_t: //// dispatch_group_notify:
输出结果:
dispatch_queue_t:
输出结果:
dispatch_once: 单例模式
dispatch_after:延时操作
线程间的通信:
1.GCD
2.NSThread