我有一个主程序。从它我调用其他三个程序作为三个不同的线程。这三个线程while(true)
在它们的 run() 方法中使用,以便它们将继续执行,除非和直到被中断。好的,但我希望在三个不同的命令窗口上调用这些线程。我的意思是我应该能够分别在三个不同的命令窗口上看到它们的执行情况。
我知道有一些东西RunTime.exec()
可以从java程序中打开单独的命令窗口,但我真的不知道如何重定向线程的执行以在这些命令窗口上显示它。
在java中是否可能。
请帮忙谢谢。
我有一个主程序。从它我调用其他三个程序作为三个不同的线程。这三个线程while(true)
在它们的 run() 方法中使用,以便它们将继续执行,除非和直到被中断。好的,但我希望在三个不同的命令窗口上调用这些线程。我的意思是我应该能够分别在三个不同的命令窗口上看到它们的执行情况。
我知道有一些东西RunTime.exec()
可以从java程序中打开单独的命令窗口,但我真的不知道如何重定向线程的执行以在这些命令窗口上显示它。
在java中是否可能。
请帮忙谢谢。
我假设您正在使用 Windows 平台。然后执行以下操作
1. 在每个线程的 run() 方法中为 CMD 创建一个新进程,如
Process proc = Runtime.getRuntime().exec("cmd.exe");
2. 然后创建一个输出流,用于显示线程的输出
OutputStream os = proc.getOutputStream();
3. 现在,无论您想在屏幕上显示什么,将其写入此流并继续刷新。
当线程要终止时不要忘记关闭流
但是这样你就不能直接与线程交互。为此,您需要创建输入流并以相同的方式使用它。