2016-08-31 7 views
0

내 앱에서 간단한 동시성이 필요하므로 이러한 제안에 GCD를 선택했습니다. 모든 것이 잘 작동하며, 우선 순위가 높은 하나의 글로벌 대기열 (Apple의 기본값 중 하나)을 사용합니다. 하지만 대기열 제어에 붙어 있습니다. 일부 사용자 작업 후에이 대기열에있는 모든 프로세스의 강제 취소가 필요합니다. 또한 글로벌 큐 중 하나에 잠시 동안 작업이 있는지 확인할 수 있습니까? 그것은 사용자가 요청할 경우 동일한 작업을 채우지 않아야합니다.GCD 전역 큐 컨트롤

+0

더 많은 제어가 필요하면 NSOperationQueue를 사용하십시오. –

+0

GCD 위에 빌드 된 NSOperation과 NSOperationQueue를 사용해야합니다. 'NSOperation'은 취소 가능하며,'NSOperationQueue'는'operations' 및'operationCount' 속성을가집니다. –

+0

@MartinR 처리 할 GCD 방법이 없습니까? 기본적으로, NSOperationQueue이 모든 것을 할 수 있습니까? –

답변

0

일반적으로 GCD는 경량 동시성 관리에 적합합니다. 디스패치 대기열을 일시 중단하려면 간단히 dispatch_suspend(queue) (urself가 작성한 대기열, 기본 대기열 또는 전역 대기열 만 작성하지 않음)입니다. 경우에는 NSOperationQueue이 더 적합합니다.