Control.Concurrent.QSemN
| Авторские права | (c) The University of Glasgow 2001 |
|---|---|
| Лицензия | в стиле BSD (см. файл libraries/base/LICENSE) |
| Сопровождающий | libraries@haskell.org |
| Стабильность | стабильный |
| Переносимость | непереносимый (параллелизм) |
| Безопасный Haskell | Доверенный |
| Язык | Haskell2010 |
Содержание
Описание
Семафоры с количеством, для которых каждый поток может ожидать произвольное «количество».
Семафоры с произвольным количеством
QSemN — это семафор с количеством, в котором ресурс приобретается и освобождается произвольными порциями. Он гарантирует порядок FIFO при обслуживании заблокированных вызовов waitQSemN.
Шаблон
bracket_ (waitQSemN n) (signalQSemN n) (...)
безопасен; он никогда не приводит к потере ресурса.
newQSemN :: Int -> IO QSemN Source
Создать новый QSemN с заданным начальным количеством. Начальное количество должно быть не меньше 0.
waitQSemN :: QSemN -> Int -> IO () Source
Ожидать, пока указанное количество не станет доступным.
signalQSemN :: QSemN -> Int -> IO () Source
Сообщить, что указанное количество теперь доступно из QSemN.
© 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-QSemN.html