В системах POSIX (Linux и т.д.), когда несколько потоков заблокировать общий семафор - это запорное для того, что это всегда наблюдается, или же приоритет потока смещения темы с более высоким приоритетом при планировании следующего потока в критическом разделе?Мьютексы и приоритеты потоков с относительно планирования на системах POSIX
Означает ли стандарт что-либо о поведении? потому что, насколько я вижу, это только говорит о требуемом интерфейсе.
Пожалуйста, обратите внимание, что я ищу руководство по любой совместимой системе POSIX (не только Linux), так что не стесняйтесь предложить поведение других операционных систем (QNX, Minix и т.д ..)
Используемый системный вызов называется futex (2) (по крайней мере, на linux) –
Насколько я знаю, всякий раз, когда мы пытаемся заблокировать мьютекс или семафор, и являются unsucesfull, эти процессы отправляются в очередь. Каждый семафор/мьютекс имеет очередь. Когда есть приращение переменной семафора, очередь проверяется и вызывается новый процесс на основе алгоритма FIFO (источник Galvin). Поэтому в идеале ответ должен быть заблокирован, но не уверен на 100%. –