簡體   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