代码如下:
class test
{
public static void main(String[] args)
{ //每次调用程序 新建立一个线程
classthread ct = new classthread() ;
ct.start()
}
}//创线程的类
class classthread extends Thread
{
public void run()
{
convertvideo cv = new convertvideo() ;
cv.dothing() ;
}
}class convertvideo
{
//调用方法线程同步
public synchronized void dothing()
{
try
{
ProcessBuilder bulider = new ProcessBuilder() ;
//调用外部程序abc.exe
builder.command("c:\\abc.exe") ;
builder.start() ;
}
catch(Exception e){}
}
}大体程序如上,想达到的目地是,不让abc.exe程序进行并发执行,也就是说每次只能执行一个abc.exe实例,可是上边代码的效果是,每当我连续调用n次test类的时候,在进程管理器都会出现n个abc.exe的进程,无法达到想要的效果....请问怎样做才可以呢??? 各位大哥高手,帮忙改下上边代码吧,谢谢了~~~~
class test
{
public static void main(String[] args)
{ //每次调用程序 新建立一个线程
classthread ct = new classthread() ;
ct.start()
}
}//创线程的类
class classthread extends Thread
{
public void run()
{
convertvideo cv = new convertvideo() ;
cv.dothing() ;
}
}class convertvideo
{
//调用方法线程同步
public synchronized void dothing()
{
try
{
ProcessBuilder bulider = new ProcessBuilder() ;
//调用外部程序abc.exe
builder.command("c:\\abc.exe") ;
builder.start() ;
}
catch(Exception e){}
}
}大体程序如上,想达到的目地是,不让abc.exe程序进行并发执行,也就是说每次只能执行一个abc.exe实例,可是上边代码的效果是,每当我连续调用n次test类的时候,在进程管理器都会出现n个abc.exe的进程,无法达到想要的效果....请问怎样做才可以呢??? 各位大哥高手,帮忙改下上边代码吧,谢谢了~~~~
动态 创建线程这要如何做呢??既然不是CALL TEST类,那如何 根据用户请求来创建线程呢?? 谢谢了~~
<%
new classthread().start();
%>
请求了3次 结果发现进程管理器里出现了3个abc.exe的实例,晕4了,呵呵,这是怎么搞的呀
??谢谢
proc.waitFor();
肯定产生一个进程...........而且是一个很恶心的进程,输入 输出 被重置的进程