我有一个单线程程序执行一些长时间运行的计算任务。主线程使用控制台输出一些内容。我正在考虑添加另一个线程来与用户进行交互,以查询诸如工作进程或进程内部状态之类的内容。如何添加另一个控制台与多线程程序进行交互
假设同步处理得当,并且用户通过类似命令行控制台(不需要GUI)的方式与第二个线程交互。什么是实现这个功能的好方法?我想我可以让第二个线程在特定的命名管道上等待命令,并让用户使用类似GNU屏幕的连接(我不确定它是否会起作用)连接到此管道。
是否有任何库(Java或非Java)或工具来实现?我的程序在Linux上运行。
“我的程序在Linus上运行。” - 虽然我知道Java并没有完全达到最初的目标,但这并不重要。你实际需要的所有库都应该是标准集的一部分,尤其是对于命令行交互(尽管一些第三方的东西可能使它更容易)。否则......这个问题可能有点过于宽泛,但这类事情往往会试图将长时间运行的工作分解成小块,因此它可以检查命令并更新状态。另外,我们建议您接受以前问题的一些答案。 –