【发布时间】:2010-07-05 00:24:45
【问题描述】:
我正在使用 WxHaskell 以图形方式显示程序的状态,该程序使用 TCP(我使用 Data.Binary 解码)通告状态更新。收到更新后,我想更新显示。所以我希望 GUI 异步更新它的显示。我知道processExecAsync 异步运行命令行进程,但我认为这不是我想要的。
【问题讨论】:
-
你能澄清你的问题吗?你到底在寻找什么?从单独的进程通知 Haskell 进程的模型?
-
这里是一个例子。在一个单独的过程中,有一个计数器。每次计数器增加时,它都会通过 TCP 向其他 Haskell 进程(客户端)发送一条消息。客户端管理一个显示计数器值的 gui(在 WxHaskell 中)。当客户端收到更新时,我想更新显示屏上的计数器。
-
根据您的评论,我已经发布了答案。我的回答中的哪些概念(如果有)与您的问题有关? Haskell 线程(forkIO)?线程之间的通信(MVars、STM/TVars)?我的回答中是否还有其他内容?