У меня есть четкое представление о том, как работает GCD, но я хочу узнать больше о разрекламированном внутреннем устройстве «управления операционной системой». Кажется, почти все технические объяснения того, как Grand Central Dispatch работает с «Операционной системой», совершенно разные. Я перефразирую некоторые из своих выводов.
«Это глобальный для ОС демон, распределяющий задачи по многим ядрам».
Я не настолько глуп, чтобы в это поверить.
«В ядро встроена поддержка, чтобы быть в курсе всех приложений GCD. Приложения GCD работают совместно с ядром, чтобы принимать логические решения о том, как управлять потоками в приложении».
Похоже, эта схема синхронизации будет намного медленнее, чем просто управление логикой в приложении.
«GCD существует исключительно в приложении и использует текущую нагрузку на систему как показатель своего поведения».
Мне это кажется более реалистичным, но я видел подобное утверждение только в одном месте.
Что здесь происходит на самом деле? Это просто библиотека или целая «система»?