Мы используем файлы cookie для улучшения работы сайта и предоставления вам персонализированного опыта. Правила использования файлов cookie можно найти в нашей политике конфиденциальности
Семафор — это примитив синхронизации потоков, который управляет доступом к ограниченному ресурсу. Он поддерживает целочисленный счётчик.
Основные операции:
wait()
(или P
/ acquire
): Уменьшает счётчик на 1. Если счётчик становится отрицательным, поток блокируется до тех пор, пока другой поток не выполнит signal()
.signal()
(или V
/ release
): Увеличивает счётчик на 1. Если есть заблокированные потоки, один из них разблокируется.Типы семафоров:
Пример использования на Swift для ограничения количества одновременно работающих задач:
swift
Семафор — это примитив синхронизации потоков, который управляет доступом к ограниченному ресурсу. Он поддерживает целочисленный счётчик.
Основные операции:
wait()
(или P
/ acquire
): Уменьшает счётчик на 1. Если счётчик становится отрицательным, поток блокируется до тех пор, пока другой поток не выполнит signal()
.signal()
(или V
/ release
): Увеличивает счётчик на 1. Если есть заблокированные потоки, один из них разблокируется.Типы семафоров:
Пример использования на Swift для ограничения количества одновременно работающих задач:
swift
Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.