用java调用操作系统查看进程列表的命令,然后根据命令结果查看abc.exe进程是否存在,
有了就不再次调用abc.exe

解决方案 »

  1.   

    不懂你是怎么连续n次test类的,有2种情况
    1 你每次都惦记一次Run按钮
    这种情况跟线程没关系,属于多进程2 你在程序里使用多个
    classthread   ct   =   new   classthread()   ;
    ct.start() 
    ct   =   new   classthread()   ;
    ct.start() 
    ct   =   new   classthread()   ;
    ct.start() 
    ct   =   new   classthread()   ;
    ct.start() 这种情况,你需要一个static的同步锁
    class convertvideo {
      private static Object lock = new Object(); // 用这个锁  // 调用方法线程同步
      public void dothing() {
        synchronized (lock) { // 用这个锁
          try {
            ProcessBuilder bulider = new ProcessBuilder();
            // 调用外部程序abc.exe
            builder.command("c:\\abc.exe");
            builder.start();
          } catch (Exception e) {}
        }
      }
    }
      

  2.   

    哦~明白了许多,那兄弟我再请教一下,假如我要根据 前端用户提交的表单来
    动态 创建线程这要如何做呢??既然不是CALL TEST类,那如何 根据用户请求来创建线程呢??  谢谢了~~
      

  3.   

    晕,我在那面回复了!
    --------------------------------------
    代码没有任何区别啊!!比如JSP里面
    <%
     new   classthread().start();
    %>
      

  4.   

    不行呀java2000高手,我写了个前端代码   调用classthread.start(),连续用jsp页面反复 
    请求了3次     结果发现进程管理器里出现了3个abc.exe的实例,晕4了,呵呵,这是怎么搞的呀 
    ??谢谢
      

  5.   

    呵呵!看到了你的问题了!!修改你的调用方式吧!!    Process proc = Runtime.getRuntime().exec("c:\\abc.exe");
        proc.waitFor();