Control.Concurrent.QSemN
| Авторские права | (c) Университет Глазго 2001 |
|---|---|
| Лицензия | BSD-стиль (см. файл libraries/base/LICENSE) |
| Поддержка | libraries@haskell.org |
| Стабильность | стабильная |
| Переносимость | непереносимая (конкурентность) |
| Безопасный Haskell | Надёжный |
| Язык | Haskell2010 |
Содержание
Описание
Семафоры количества, в которых каждый поток может ждать произвольного «количества».
Общие семафоры количества
QSemN — это семафор количества, в котором ресурс приобретается и высвобождается в произвольных количествах. Он гарантирует порядок FIFO для удовлетворения заблокированных waitQSemN вызовов.
Шаблон
bracket_ (waitQSemN n) (signalQSemN n) (...)
безопасен; он никогда не теряет ни одного из ресурсов.
newQSemN :: Int -> IO QSemN Источник
Создать новый QSemN с заданным начальным количеством. Начальное количество должно быть не менее 0.
waitQSemN :: QSemN -> Int -> IO () Источник
Подождать, пока указанное количество станет доступным.
signalQSemN :: QSemN -> Int -> IO () Источник
Сигнализировать о том, что заданное количество теперь доступно из QSemN.
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/9.12.1/docs/libraries/base-4.21.0.0-8e62/Control-Concurrent-QSemN.html