Книга: Введение в QNX/Neutrino 2. Руководство по программированию приложений реального времени в QNX Realtime Platform
Семафор в роли мутекса
Семафор в роли мутекса
Мы только что задали себе вопрос: «Смогли бы мы реализовать блокировку со счетом с помощью мутекса?» Ответ был отрицательный. А если наоборот? Смогли бы мы использовать семафор в качестве мутекса?
Да, смогли бы. В действительности в некоторых операционных системах так все и делается — никаких мутексов, одни семафоры! Зачем тогда вообще беспокоиться о мутексах?
Для того чтобы ответить на этот вопрос, рассмотрим ситуацию в нашей аналогии с ванной комнатой. Как строитель вашего дома реализовал мутекс? Я подозреваю, что в вашем доме нет ключей, которые вешались бы на двери снаружи.
Мутексы — это семафоры «специального назначения». Если вы пожелаете, чтобы в определенном месте программы выполнялся только один поток, эффективнее всего было бы реализовать это при помощи мутекса.
Позже мы рассмотрим и другие способы синхронизации потоков — объекты, которые называются условными переменными (condvar), барьерами (barrier) и ждущими блокировками (sleepon).
- Роли
- 3.3.1. Теневые пароли
- Роли категорий
- Какие пароли не стоит использовать?
- Хочу создать обучающий ролик и показывать менее опытным пользователям, как решать ту или иную проблему. С помощью какой ...
- 2.10.3. Пароли по умолчанию
- 2.10.4. Универсальные пароли
- Что контролировать
- Глава 57 Контролируйте свой бренд
- Реализация семафоров в Linux
- Контролировать расходы, чтобы понимать ситуацию
- 14.1.6. Пароли