2015-02-02 5 views
1

어느 것이 더 좋을까요? A_async + sempore 대 sync queue의 차이점

dispatch_sync(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), { 
    //long operation 
}) 

없이

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), { 
    //long operation 
    dispatch_semaphore_signal(sema) 
}) 
dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER) 

또는 동기화 는 두 가지 방법이 같은 방식으로 작동하거나이 차이가 있습니까?

+0

* 할 일에 따라 달라질 수 있습니까? –

답변

1

내부적으로는 동일합니다. 첫번째는 훨씬 더 유연합니다. 예를 들어 3 개의 작업 뒤에 3 개의 대기를 전달할 수 있으며, 병렬로 실행할 수 있습니다. 두 번째는 적은 코드입니다.

+0

두 번째로 당신이 달성하고자하는 것이 더 명확합니다. :) –

관련 문제