我在想哪一个更好?
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), {
//long operation
dispatch_semaphore_signal(sema)
})
dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER)
或没有_
同步dispatch_sync(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), {
//long operation
})
这两种方法是否以相同的方式工作,还是有区别?
答案 0 :(得分:1)
在内部,他们也这样做。第一个更灵活,例如你可以发送三个任务,然后是三个等待,它们可以并行执行。第二个是更少的代码。