私はこのようなシリアルキューを作成しました:
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
に実行および完了されます。