调用start()方法后,我可以在新命令窗口上重定向线程执行吗?

时间:2013-10-27 09:57:27

标签: java multithreading

我有一个主程序。从它我正在调用其他三个程序作为三个不同的线程。这三个线程在其run()方法中使用while(true),这样它们将继续执行,除非并且直到被中断。好的,但我希望在三个不同的命令窗口上调用这些线程。我的意思是我应该能够分别在三个不同的命令窗口看到它们的执行。

我知道有一些名为RunTime.exec()的东西可以从java程序中打开单独的命令窗口,但我真的不知道如何重定向线程的执行以在这些命令窗口中显示它。

是否可以在java。

请帮助谢谢。

1 个答案:

答案 0 :(得分:0)

我假设您正在使用Windows平台。然后执行以下操作 1.在每个线程的run()方法中,为CMD创建一个新进程as     进程proc = Runtime.getRuntime()。exec(“cmd.exe”);
2.然后创建一个输出流,用于显示线程的输出
    OutputStream os = proc.getOutputStream();
3.现在无论你想在屏幕上显示什么内容,都要将其写入此流并继续刷新     当线程要终止时,不要忘记关闭流

但是这样你就无法直接与线程交互。为此,您需要创建输入流并以相同的方式使用它。