【发布时间】:2012-11-30 21:52:41
【问题描述】:
我有一个单线程程序做一些长时间运行的计算工作。主线程正在使用控制台进行一些输出。我正在考虑添加另一个线程来与用户交互以查询诸如作业进度或进程内部状态之类的内容。
假设同步处理得当,并且用户通过命令行控制台之类的东西与第二个线程进行交互(不需要 GUI)。实现此功能的好方法是什么?我想我可以让第二个线程等待某个命名管道上的命令,并让用户使用 GNU 屏幕之类的东西连接到这个管道(我不确定它是否会工作)。
是否有任何库(Java 或非 Java)或工具来实现这一点?我的程序在 Linux 上运行。
【问题讨论】:
-
"我的程序在 Linus 上运行。" - 虽然我知道 Java 还没有完全达到最初的目标,但这不重要。您实际需要的所有库都应该是标准集的一部分,尤其是对于命令行交互之类的东西(尽管一些第 3 方的东西可能会让它更容易接受)。否则....这个问题可能有点太宽泛了,但是这种事情经常试图将长期运行的工作分成几部分,这样它就可以检查命令并更新状态。此外,我们建议您接受您之前问题的一些答案。
标签: java multithreading console pipe gnu-screen