Control.Concurrent.QSemN
| Copyright | (c) The University of Glasgow 2001 |
|---|---|
| License | BSD-style (see the file libraries/base/LICENSE) |
| Maintainer | libraries@haskell.org |
| Stability | experimental |
| Portability | non-portable (concurrency) |
| Safe Haskell | Trustworthy |
| Language | 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/8.10.2/docs/html/libraries/base-4.14.1.0/Control-Concurrent-QSemN.html