我必须为并行计算课程做练习。我使用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();
由于我必须使用运行带有5个实例的应用程序的.bat文件运行应用程序(对于每个进程一个实例),控制台输入无法“映射”到特定进程。所以我的应用程序只是在等待用户输入时一直挂着。
有没有人有解决方案如何克服这个问题? 非常感谢提前!
答案 0 :(得分:0)
为什么不在Scatter操作上实现某种协议来分发用户的输入:例如,将来自父进程的接收消息作为一对处理:(命令代码,命令数据)。在子进程中处理至少两个命令代码: