jde*_*lop 5 haskell blockingqueue
在java中,有一个很好的包java.util.concurrent,它保存了BlockingQueue接口的实现.
我在Haskell中需要类似的东西,所以它能够
可能这可以通过STM或阻止事务来实现 - 但我无法在hackage上找到类似的东西.
并发队列通常Chan在Haskell中称为(通道),正如您所料,Hackage上确实存在一个BoundedChan包,看起来它应该符合您的需求,除了超时.但是,您应该可以通过使用System.Timeout来获得它.
stm-chans软件包包含多种 STM 通道。它似乎比 hammar 提到的 BoundedChan 包(最后一次更新于 2009 年)得到了更积极的维护,并且由于它使用了 STM,它将是异常安全的。
我相信它的TBChan变体与 结合使用System.Timeout,可以满足您的所有要求。