Я пытаюсь узнать про потоки, и я полностью смущен. Я уверен, что все ответы есть в яблочных документах, но я просто нашел, что это очень сложно для разбивки и переваривания. Может быть, кто-то может убрать что-то или 2 для меня.
1) performSelectorOnMainThread
Описанное выше просто регистрирует событие в цикле основного запуска или это как-то новый поток, хотя метод говорит "mainThread"? Если цель потоков - облегчить обработку основного потока, как это помогает?
2) RunLoops
Правда ли, что если я хочу создать полностью отдельный поток, я использую "DetachNewThreadSelector"? Начинает ли вызов инициировать цикл запуска по умолчанию для потока, который был создан? Если да, то где туда заходят циклы запуска?
3) И, наконец, я видел примеры с использованием NSOperationQueue. Правда ли, что если вы используете performSelectorOnMainThread, потоки все равно находятся в очереди, поэтому NSOperation не требуется?
4) Должен ли я забыть обо всем этом и просто использовать Grand Central Dispatch вместо этого?