writeChan覆盖或排队

时间:2014-03-04 19:58:52

标签: concurrency haskell

RWH书中列出了以下内容:

  

如果Chan为空,readChan会阻塞,直到有值要读取。   writeChan函数永远不会阻塞:它会将新值写入Chan   立即

我不清楚的是,对writeChan的调用是否会覆盖已存在的消息(假设某些消息尚未读取),或者是否会按正确的顺序对消息进行排队,以便未读消息没有丢失?

1 个答案:

答案 0 :(得分:4)

排队等候。 Chan是一个频道,邮件可以在其中排队。相比之下,MVar可以只取一个值,表现为变量而不是队列。