Sync dispatch on current queue
I know you might find this an odd question, but I'm just learning GCD and I want to fully understand all its aspects. So here it is: Is there ever any reason to dispatch a task SYNC on the CURRENT QUEUE? For example: dispatch_queue_t concurrentQueue = dispatch_get_global_queue(...); dispatch_async(concurrentQueue, ^{ //this is work task 0 //first do something here, then suddenly: dispatch_sync(concurrentQueue, ^{ //work task 1 }); //continue work task 0 }); I understand one thing: if instead of concurrentQueue I use a serial queue, then I get a deadlock on that serial queue, because work task