Java 使用mpj express读取控制台输入

Java 使用mpj express读取控制台输入,java,mpj-express,Java,Mpj Express,我必须为并行计算课程做一个练习。我使用MPJ Express将任务分发到多个进程(在我的例子中是5个进程)。我解决了所有的子任务,它们都很好地工作。现在我想实现一个简单的用户对话框,这样我的教授就可以选择要运行的子任务,比如“如果要运行作业1,请输入'1'。我使用以下代码从控制台读取输入: InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new Buffe

我必须为并行计算课程做一个练习。我使用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个实例运行我的应用程序(每个进程一个实例),因此控制台输入无法“映射”到特定进程。因此,我的应用程序在等待用户输入时一直挂起

有人有办法解决我如何克服这个问题吗?
非常感谢!

为什么不在分散操作上实现某种协议来分发用户的输入:例如,将从父进程收到的消息成对处理:(命令代码,命令数据)。在子进程中至少处理两个命令代码:

  • 对于处理用户输入:检查当前进程ID是否与用户请求的执行相同-如果相同-执行操作
  • 用于接收应用程序开始时分发的数据

  • 我无法分发任何内容,因为当我在控制台中输入某个内容时,根本没有反应!我在br.readline之后添加了ad syso,但从未调用过它。因此,这根本不是mpj问题。您确定已连接到正确的进程进行调试吗?