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
:并发保证执行一次