繁体   English   中英

多线程haskell的优雅退出

[英]Graceful exit for multithreaded haskell

在这一点上,这完全是理论上的,但我一直在努力解决这个问题。 我们以客户为例。 每个连接都有forkIOd线程,其中一个想要退出整个程序(即./exit)。 这些信息将如何传播到其他线程?

这不是一个条件,但我假设线程正在从各自阻塞的线程中读取。 因为他们在为他们写的东西之前一直闲着,所以他们不能轮询任何类型的“完成”变量。 所以我的第一个想法, unless done

我对任何程序都没有解决方案,因此任何为任何语言提供解决方案的人都会受到赞赏,但真正的问题是如何在Haskell中完成。

我所知道的最好的方法是毒药,它由CHP库实施。

请参阅此处的优秀说明: http//chplib.wordpress.com/2009/09/30/poison-concurrent-termination/

上面的文章顺便通过了其他解决方案,并解释了为什么它们通常有点脆弱。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM