我创建了一个这样的串行队列:
dispatch_queue_t _serialQueue = dispatch_queue_create("com.example.name", DISPATCH_QUEUE_SERIAL);
什么之间的差异dispatch_async
被称为像这样
dispatch_async(_serialQueue, ^{ /* TASK 1 */ });
dispatch_async(_serialQueue, ^{ /* TASK 2 */ });
并dispatch_sync
在这个串行队列中这样调用?
dispatch_sync(_serialQueue, ^{ /* TASK 1 */ });
dispatch_sync(_serialQueue, ^{ /* TASK 2 */ });
我的理解是,无论使用哪种调度方法,TASK 1
都将在执行之前完成并TASK 2
正确吗?