Семафор - это низкоуровневый примитив синхронизации, который контролирует доступ к ресурсам. Он поддерживает счетчик (счетчик доступных ресурсов) и две основные операции: ожидание (wait) и сигнал (signal).
wait()
): Уменьшает счетчик. Если счетчик становится отрицательным (что указывает на отсутствие доступных ресурсов), текущий поток блокируется до тех пор, пока другой поток не вызовет сигнал.signal()
): Увеличивает счетчик. Если после увеличения счетчик становится неотрицательным и есть заблокированные потоки, один из них разблокируется.Семафоры могут использоваться для:
Семафор - это низкоуровневый примитив синхронизации, который контролирует доступ к ресурсам. Он поддерживает счетчик (счетчик доступных ресурсов) и две основные операции: ожидание (wait) и сигнал (signal).
wait()
): Уменьшает счетчик. Если счетчик становится отрицательным (что указывает на отсутствие доступных ресурсов), текущий поток блокируется до тех пор, пока другой поток не вызовет сигнал.signal()
): Увеличивает счетчик. Если после увеличения счетчик становится неотрицательным и есть заблокированные потоки, один из них разблокируется.Семафоры могут использоваться для:
Register or sign in to get access to full answers for all questions from the question bank.