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/7.10.3/docs/html/libraries/base-4.8.2.0/Control-Concurrent-QSemN.html