동시성 프로그래밍 가이드 (PDF 버전)의 37 및 39 페이지는 모순이있는 것처럼 보입니다.detachNewThreadSelector 호출 : 대상 : 객체 : 대 dispatch_async()
if (![anOp isConcurrent])
[anOp start];
else
[NSThread detachNewThreadSelector:@selector(start) toTarget:anOp withObject:nil];
이 39 페이지에서 제외하고, 잘 보이는 문서 상태 : 37 페이지에서 코드 조각은 다음을 지정
당신은 거의 모든 작업을 수행하기 위해 파견 대기열을 사용할 수 있습니다그 별도의 스레드에서 수행하는 데 사용됩니다. 디스패치 대기열의 이점은 사용하기가 더 쉽고 해당 스레드 코드보다 해당 작업을 실행하면 훨씬 효율적이라는 것입니다.
대신 detachNewThreadSelector : target : object :를 호출하는 대신 dispatch_async()를 호출하는 코드가 아닙니까?
는 아이폰 OS 4 이후, NSOperationQueue는 GCD를 사용하는 올바른 방향을 가리 킵니다. [NSOperationQueue 클래스 참조] (http://developer.apple.com/library/ios/#documentation/Cocoa/Reference/NSOperationQueue_class/Reference/Reference.html) – titusmagnus
고맙습니다. titusmagnus – geminiCoder