В java есть хороший пакет java.util.concurrent, который содержит реализацию для интерфейса BlockingQueue.
Мне нужно что-то подобное в Haskell, чтобы он мог
- поддерживать фиксированный размер очереди в памяти
- операции чтения блоков, когда очередь пуста (get)
- предоставляет блоки с временными рамками, которые будут return Ничего, если очередь пуста и превышен тайм-аут
- аналогично операциям put - блокировать до тех пор, пока очередь не заполнится версией с ограниченным временем
, вероятно, это можно было бы реализовать с помощью STM или блокирующих транзакций - но я не смог найти что-то вроде что на взломе.
задан jdevelop 12 February 2012 в 11:38
поделиться