Grand Central Dispatch 是异步执行任务的技术之一
Dispatch Queue
Dispatch Queue的种类:
- Serial Dispatch Queue:阻塞,一个Serial Dispatch Queue对应一个线程
- Concurrent Dispatch Queue:非阻塞
系统提供的Dispatch Queue:
- Main Dispatch Queue:属于Serial Dispatch Queue
- Global Dispatch Queue:属于Concurrent Dispatch Queue
Dispatch Group
处理Dispatch Queue中多个处理结束后想执行的结束处理
API
dispatch_queue_create:创建一个queuedispatch_retain:保留dispatch_release:释放dispatch_set_target_queue:设置queue优先级dispatch_after:指定时间后执行处理dispatch_async:非阻塞执行dispatch_sync:阻塞执行dispatch_barrier_async:在Concurrent Dispatch Queue中,单独处理这个任务
dispatch_suspend:挂起dispatch_resume:恢复dispatch_semaphore_create:创建信号量dispatch_semaphore_signal:信号量通知dispatch_semaphore_wait:信号量等待dispatch_once:并发保证执行一次