【发布时间】:2015-01-06 00:17:57
【问题描述】:
我必须说我是 Java 的初学者。 我使用 Eclipse。我想完成以下场景,但找不到怎么做:
当 java 程序运行时,它会向控制台输出文本,我还希望能够输入文本并处理它,而不会因等待输入而阻塞输出。
假设:
-线程1每秒向控制台输出一个数字
-线程 2 监听输入
(代码是样机)
//**Thread 1:**
int incrementBy = 0;
for (int i = 0; i < 1000; i++) {
i = i + incrementBy;
//Pause for 1 seconds
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
System.out.println("TEXT OUTPUT INTERUPTED");
}
//Print text
System.out.println(i);
}
//**Thread 2:**
String myIncrement = System.console().readLine();
(Now process the input and change the incrementBy var in Thread 1)
现在在我的程序中,我使用 1 个线程进行输入,另一个线程用于输出。但我可以很容易地改变设计。 我能找到的只是关于服务器和客户端的东西,我想把我的代码放在一个地方包中。而且我目前不知道如何制作一个带有一个用于输出和一个用于输入的文本框的 GUI。
你能推荐一些吗?
【问题讨论】:
标签: java asynchronous io