Если я хранить 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!");
});
Эти блоки выполнены в одной и той же резьбе? Если нет, как я могу убедиться, что они есть? В основном я хочу сохранить ссылку на поток и заставить его выполнять некоторые действия только в этом потоке.
Где я должен искать документацию, чтобы узнать об этом и о различиях между последовательными и параллельными потоками? У меня было только простейшие методы GCD и потоки в C. –
@NickC: ["Руководство по программированию параллелизма"] (https://developer.apple.com/library/ios/DOCUMENTATION/General/Conceptual/ConcurrencyProgrammingGuide/ Введение/Введение.html), [«Руководство по программированию потоков»] (https://developer.apple.com/library/ios/DOCUMENTATION/Cocoa/Conceptual/Multithreading/Introduction/Introduction.html#//apple_ref/doc/uid/10000057i). –
Последнее: скажите, что я посылаю блок dispass_async в global_queue - это весь метод, выполненный в том же потоке? –