我必须为一门并行计算课程做一个练习。我使用MPJ Express将任务分发到几个进程(在我的例子中是5个进程)。我解决了所有的子任务,它们工作得很好。现在我想实现一个简单的用户对话框,这样我的教授就可以选择他想要运行的子任务,比如“如果你想运行作业1,请输入'1‘。我使用以下代码从控制台读取输入:
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
System.out.println("Enter a number between 1 and 4");
String s = br.readLine();由于我必须使用一个.bat文件运行应用程序,该文件使用5个实例(每个进程一个实例)来运行我的应用程序,所以控制台输入不能被“映射”到特定的进程。因此,我的应用程序在等待用户输入时会一直挂起。
有谁有解决这个问题的办法吗?首先要感谢大家!
发布于 2012-06-11 17:37:03
为什么不在分散操作上实现某种协议来分发用户的输入:例如,将从父进程接收到的消息作为一对处理:(命令代码,命令数据)。在你的子进程中至少处理两个命令代码:
用于处理用户输入的
https://stackoverflow.com/questions/10971598
复制相似问题