dispatch_sync
dispatch_async
函数的”async”意味着”非同步”(asynchronous),就是将指定的Block”非同步”地追加到指定的Dispatch Queue中。dispatch_async
不做任何等待。
dispatch_syn
c函数的”sync”意味着”同步”(synchronous),就是将指定的Block”同步”地追加到指定的Dispatch Queue中。在追加Block结束之前,dispatch_async
会一直等待。
我们假设这样一种情况:执行Main Dispatch Queue时,使用另外的线程Global Dispatch Queue进行处理,处理结束后立即使用所得到的结果。在这种情况就要使用dispatch_sync
函数。
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY,0);