我如何允许三个线程访问java中的三个不同的控制台?

时间:2014-09-04 11:27:00

标签: java console

所以我试图构建一个简单的应用程序来显示java中的并发性。我想打开3个控制台窗口,以便我可以从所有这些窗口获得输入输出。怎么办呢?

编辑:我有3个线程,每个线程都有自己的一组缓存。我想在java中分别运行3个控制台。 我使用Runtime类打开命令提示符,并尝试将输入和输出流附加到它。但是从新打开的控制台写入或读取失败。

1 个答案:

答案 0 :(得分:0)

在大多数操作系统中,进程只能打开一个控制台。

你可以create multiple processes and communicate between them,但这会显示进程间通信而不是线程间通信。

在Windows上,您可以尝试使用“更多”'来生成子进程。或者'复制con'命令和写入其输入流,或运行您自己的java客户端,只需回输输出。

你也可以创建多个JFrame并记录其中的线程输出,但是同一个进程必须在一个swing线程中完成所有的swing更新,因此不同的线程在输出时必须同步。

你可能最好用不同的前缀写入同一个控制台;输出到屏幕始终是当前操作系统中的单个线程。