Предполагая, что вы знаете основные различия между семпахором и мьютексом:
Для быстрой простой синхронизации используйте критическую секцию.
Для синхронизации потоковчерез границы процесса используйте мьютексы.
Для синхронизации доступа к ограниченным ресурсам используйте семафор.
Помимо того, что мьютексы имеют владельца,два объекта могут быть оптимизированы для различного использования.Мьютексы предназначены для удержания только в течение короткого времени;нарушение этого может привести к снижению производительности и несправедливому планированию.Например, работающему потоку может быть разрешено получить мьютекс, даже если другой поток уже заблокирован на нем, создавая взаимоблокировку .Семафоры могут обеспечивать большую справедливость, или справедливость может быть вызвана с помощью нескольких условных переменных.