通过JButton动作侦听器并行运行的多个perl脚本实例

时间:2013-07-12 15:59:40

标签: java multithreading perl

我正在通过"Runtime.getRuntime().exec("perl C:/script.pl")"

执行Perl脚本

作为Jbutton动作侦听器的一部分。我希望能够单击该按钮两次,并获得运行相同Perl脚本的两个实例。该脚本正在读取一个文本文件,因此它在第二次启动时会根据文本文件的不同而有所不同,但通常脚本会执行相同的操作。

我试图通过将运行时命令包装在新线程中并在每次按下按钮时对其执行".run()"来解决这个问题,但这似乎只会中断第一个实例并启动新实例。似乎无法并行执行两个相同的Perl脚本。关于如何实现这一目标的任何想法?

ActionListener edit = new ActionListener() {

   public void actionPerformed(ActionEvent actionEvent) {

      class GetThread implements Runnable {

        public void run() {
          try {
            Runtime.getRuntime().exec("C:/Perl/bin/perl5.16.3.exe C:/Perl/get.pl", null, new File("C:/Perl"));
          } catch (IOException e1) {
            exceptionLog(e1);
          }
        }
      }
   GetThread get = new GetThread();
   get.run();
   }
}

1 个答案:

答案 0 :(得分:0)

http://docs.oracle.com/javase/7/docs/api/java/lang/Runtime.html

每个Java应用程序都有一个Runtime类实例,它允许应用程序与运行应用程序的环境进行交互。可以从getRuntime方法获取当前运行时。

可能会阻止您的通话。