#cocoa #grand-central-dispatch
#cocoa #grand-central-dispatch
Вопрос:
Возможно ли назначить ядро процессора определенной очереди GCD или функции, которая запускается этой очередью?
Если да, то как это можно сделать?
Ответ №1:
Нет. Это в корне противоречит цели GCD.
Комментарии:
1. Почему это противоречит?
2. Цель GCD — выполнять все управление работой по планированию из многих очередей наиболее эффективным из возможных способов. Вы просите выделить целое ядро для одной очереди или функции, что обходит GCD, выполняющий управление, и в корне снижает эффективность того, как несколько очередей могут совместно использовать ядра, чтобы вся работа выполнялась эффективно. Если бы все несколько процессов сказали «дайте мне ядро для этой конкретной вещи», то вскоре не осталось бы ядер. Помимо GCD, в этом заключается разница между моделями кооперативных и упреждающих потоков.