相关疑难解决方法(0)

使用Post或PostAndAsyncReply与F#的MailboxProcessor?

我已经看到了不同的片段,展示了Put一条unit用F#返回的消息MailboxProcessor.在某些情况下,只有Post方法被使用,而其他人使用PostAndAsyncReply,一旦处理消息,回复通道立即回复.在做一些测试时,我发现在等待回复时有很长的时间滞后,所以看起来除非你需要真正的回复,否则你应该使用Post.

注意:我开始在另一个帖子中询问这个问题,但认为发布完整问题很有用.在另一个帖子中,Tomas Petricek提到回复通道可以使用等待机制来确保调用者延迟直到Put消息被处理.

使用PostAndAsyncReply消息排序的帮助,还是只是强制暂停直到处理第一条消息?在性能方面Post出现了正确的解决方案.那是准确的吗?

更新:

我只想到了为什么PostAndAsyncReplyBlockingQueueAgent示例中可能需要的原因:Scan用于Get在队列已满时查找消息,因此您不希望在之前完成之前Put然后再查找消息.GetPut

concurrency f# actor mailboxprocessor

5
推荐指数
2
解决办法
915
查看次数

标签 统计

actor ×1

concurrency ×1

f# ×1

mailboxprocessor ×1