1
은 내가 dispatch_queue_t과 같이 저장하는 경우 : ...dispatch_queue_t에 대한 실행을 호출하면 동일한 스레드에 있는지 확인할 수 있습니까?
@property(assign, nonatomic) dispatch_queue_t myQueue;
나중에
_myQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
, 그때 다른 곳
dispatch_async(_myQueue, ^{
NSLog(@"Hi!");
});
및
dispatch_async(_myQueue, ^{
NSLog(@"Hello!");
});
등의 작업을 수행 할 때
은 같은 스레드에서 실행되는 이러한 블록입니까? 그렇지 않다면 어떻게 그걸 확인해야합니까? 기본적으로 스레드에 대한 참조를 유지하고 해당 스레드에서만 일부 작업을 실행하려고합니다.
이 점과 직렬 스레드와 동시 스레드의 차이점을 알기 위해 어디에서 설명서를 참조해야합니까? 나는 C에서 가장 간단한 GCD 메서드와 스레딩에 대해서만 노출했다. –
@NickC : [ "Concurrency Programming Guide"] (https://developer.apple.com/library/ios/DOCUMENTATION/General/Conceptual/ConcurrencyProgrammingGuide/ 소개/Introduction.html), [ "Threading Programming Guide"] (https://developer.apple.com/library/ios/DOCUMENTATION/Cocoa/Conceptual/Multithreading/Introduction/Introduction.html#//apple_ref/doc/uid/10000057i). –
마지막으로 한 가지 - global_queue의 dispatch_async에 블록을 보냅니다 - 같은 스레드에서 실행되는 전체 메서드입니까? –