Задать вопрос
@gibsonman01

Как выполняется semop?

Как выполняется semop?
Операции выполняются последовательно, как описано в массиве структур sembuf?
То есть может ли быть такое, что изменена только часть семафоров, пока процесс блокирован на следующем семафоре из набора?
  • Вопрос задан
  • 330 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    DevOps для эксплуатации и разработки
    7 месяцев
    Далее
  • Яндекс Практикум
    Go-разработчик с нуля
    8 месяцев
    Далее
  • Яндекс Практикум
    Фулстек-разработчик
    16 месяцев
    Далее
Решения вопроса 1
Olej
@Olej
инженер, программист, преподаватель
1. semop() - это не POSIX, а семафоры System V, это для Linux, скорее, экзотика, чем норма - это включено больше для совместимости с программами, написанными для ... Solaris, например.

2. детально про все операции синхронизации (и semop в том числе) можете почитать:
23626.jpg (можете найти и скачать, её много где есть)

3. Стивенс пишет:

Весь массив операций, передаваемый функции semop, выполняется ядром как одна операция; атомарность при этом не гарантируется. Ядро выполняет все указанные операции, или ни одну из них.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы