Семафор против Мьютекса

Автор: Laura McKinney
Дата создания: 4 Апрель 2021
Дата обновления: 10 Май 2024
Anonim
#19 Многопоточность - lock, Monitor, Mutex, Semaphore. Ответ на вопрос собеседования C# / .Net
Видео: #19 Многопоточность - lock, Monitor, Mutex, Semaphore. Ответ на вопрос собеседования C# / .Net

Содержание

Разница между семафором и мьютексом заключается в том, что семафор является сигнальным механизмом, а мьютекс - механизмом блокировки.


Операционная система является наиболее важной концепцией в области компьютерных наук, в операционной системе две основные концепции - семафор и мьютекс. Существует большая разница между семафором и мьютексом. Если говорить о главном различии, то основное различие между семафором и мьютексом заключается в том, что семафор является сигнальным механизмом, тогда как мьютекс является механизмом блокировки.

Разница между семафором и мьютексом заключается в процессах; Семафор выполняет операции wait () и signal (), эта функция отвечает за определение того, получили они или освободили ресурс. С другой стороны, если мы говорим о мьютексе, мьютекс - это механизм блокировки.

Семафор является целочисленной переменной S; Семафор - это сигнальный механизм. В операционной системе требуется инструмент синхронизации, и этот инструмент в операционной системе называется семафором. Есть две основные функции семафора, которые ждут (), сигнал (). Значение семафора изменяется двумя функциями: wait () и signal (). Когда процесс использует ресурс, семафор находится в ожидании (), а когда процесс использовал ресурс, и этот ресурс свободен, семафор подает сигнал (). Это функции wait () и signal (), которые используются, потому что только один процесс может использовать ресурс одновременно. Один ресурс не может быть передан двум процессам. В операционной системе есть два типа семафоров: двоичный семафор и счетный семафор. При подсчете семафора инициализированным значением является количество доступных ресурсов. Когда процесс использует ресурс, он сталкивается с wait () и должен ждать этого ресурса. Подсчет значения семафора уменьшается один за другим. Когда процесс использует ресурс, он освобождает этот ресурс и освобождает сигнал (), поэтому он должен быть свободным для другого процесса. Когда количество ресурсов равно 0, это означает, что для предстоящего процесса нет доступных ресурсов. В двоичном семафоре есть два значения: 0 и 1. Когда процесс использует ресурс, значение двоичного семафора составляет от 1 до 0, а когда ресурс использовал ресурс, тогда значение двоичного семафора равно от 1 до 0.


Мьютекс также известен как объект взаимного исключения. Мы знаем, что только один процесс может использовать ресурс одновременно. По этой причине существует система блокировки, и эта система блокировки называется мьютексом. Блокировка мьютекса предоставляется процессу, когда этот процесс использует ресурс. Объект Mutex имеет уникальное имя и идентификатор. В программе всякий раз, когда требуется блокировка мьютекса, блокировка мьютекса вызывается по имени и идентификатору. Если мы увидим код мьютекса, у нас будет четкое понимание реализации и использования блокировки мьютекса.

Содержание: Разница между семафором и мьютексом

  • Сравнительная таблица
  • семафор
  • Mutex
  • Заключение
  • Пояснительное видео

Сравнительная таблица

основасемафорMutex
СмыслСемафор - это сигнальный механизмМьютекс - это механизм блокировки.
СтоимостьСемафор является целым числом.Мьютекс - это объект.
операцияОперации семафора wait () и signal ().Операции мьютекса блокируются и разблокируются
ТипыДва типа семафоров: семафор и двоичный семафор.Нет типов блокировки мьютекса.

семафор

Семафор является целочисленной переменной S; Семафор - это сигнальный механизм. В операционной системе требуется инструмент синхронизации, и этот инструмент в операционной системе называется семафором. Есть две основные функции семафора, которые ждут (), сигнал (). Значение семафора изменяется двумя функциями: wait () и signal (). Когда процесс использует ресурс, семафор находится в ожидании (), а когда процесс использовал ресурс, и этот ресурс свободен, семафор подает сигнал (). Эти функции, которые являются wait () и signal (), они используются, потому что только один процесс может использовать ресурс одновременно.


Один ресурс не может быть передан двум процессам. В операционной системе есть два типа семафоров: двоичный семафор и счетный семафор. При подсчете семафора инициализированным значением является количество доступных ресурсов. Когда процесс использует ресурс, он сталкивается с wait () и должен ждать этого ресурса. Подсчет значения семафора уменьшается один за другим. Когда процесс использует ресурс, он освобождает этот ресурс и освобождает сигнал (), поэтому он должен быть свободным для другого процесса. Когда количество ресурсов равно 0, это означает, что для предстоящего процесса нет доступных ресурсов. В двоичном семафоре есть два значения: 0 и 1. Когда процесс использует ресурс, значение двоичного семафора составляет от 1 до 0, а когда ресурс использовал ресурс, тогда значение двоичного семафора равно от 1 до 0.

Mutex

Мьютекс также известен как объект взаимного исключения. Мы знаем, что только один процесс может использовать ресурс одновременно. По этой причине существует система блокировки, и эта система блокировки называется мьютексом. Блокировка мьютекса предоставляется процессу, когда этот процесс использует ресурс. Объект Mutex имеет уникальное имя и идентификатор. В программе всякий раз, когда требуется блокировка мьютекса, блокировка мьютекса вызывается по имени и идентификатору. Если мы увидим код мьютекса, у нас будет четкое понимание реализации и использования блокировки мьютекса.

Ключевые различия

  1. Семафор является сигнальным механизмом, тогда как Mutex является блокирующим
  2. Семафор - это целое число, а Mutex - это объект.
  3. Операции семафора wait () и signal (), тогда как операции mutex блокируются и разблокируются.
  4. Два типа семафоров считают семафор и двоичный семафор, тогда как нет типов мьютекса

Заключение

В этой статье выше мы видим четкую разницу между семафором и мьютексом при их правильной реализации.

Пояснительное видео