Control.Concurrent.QSem
| Авторские права | (c) The University of Glasgow 2001 |
|---|---|
| Лицензия | в стиле BSD (см. файл libraries/base/LICENSE) |
| Сопровождающий | libraries@haskell.org |
| Стабильность | стабильный |
| Переносимость | непереносимый (параллелизм) |
| Безопасный Haskell | Safe |
| Язык | Haskell2010 |
Содержание
Описание
Счётные семафоры.
Счётные семафоры
data QSem Исходный код
QSem — это счётный семафор, в котором ресурс захватывается и освобождается по одной единице. Он гарантирует порядок FIFO при удовлетворении заблокированных вызовов waitQSem.
Шаблон
bracket_ waitQSem signalQSem (...)
безопасен: он никогда не приводит к потере единицы ресурса.
newQSem :: Int -> IO QSem Исходный код
Создаёт новый QSem с заданным начальным количеством. Начальное количество должно быть не меньше 0.
waitQSem :: QSem -> IO () Исходный код
Ожидает, пока не станет доступна одна единица.
signalQSem :: QSem -> IO () Исходный код
Сигнализирует о том, что доступна одна единица ресурса QSem.
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/9.14.1/docs/libraries/base-4.22.0.0-66f8/Control-Concurrent-QSem.html