Вопрос проверяет понимание базовых примитивов синхронизации и управления доступом к общим ресурсам.
Короткий ответ
Semaphore — это механизм синхронизации, который ограничивает количество потоков, одновременно выполняющих участок кода. Он работает на основе счётчика, который уменьшается при входе и увеличивается при выходе. Если счётчик равен нулю, поток ждёт. Semaphore часто используется в GCD для контроля параллелизма. Он помогает избежать гонок данных.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.