这个问题已经解决,换个问题。
现在我是想保持最多n个进程同时工作,只有在有进程结束工作后,才能new新进程
如何操作
本来我想通过数组Thread a=new Thread[n];
a[i++]=new ...
我有办法控制最多n个进程
但是不知道如何控制这个i,总不能让其一直++吧,我根本不知道一共会产生多少个线程的
现在我是想保持最多n个进程同时工作,只有在有进程结束工作后,才能new新进程
如何操作
本来我想通过数组Thread a=new Thread[n];
a[i++]=new ...
我有办法控制最多n个进程
但是不知道如何控制这个i,总不能让其一直++吧,我根本不知道一共会产生多少个线程的
while(true) {
if (nCount<=5) {
Thread t1 = new Thread(tg1,new QQ("" + i));
t1.start();
nCount ++;
i++;
}
if (nCount> 5) b1 = true;
//i++;
//if (!t1.isAlive()) nCount--;
//System.out.println(i);
if (b1 && tg1.activeCount()<5) nCount--;
if (i>nEndNo) break;
}
while(true){
System.out.println("Thread count:"+tg.activeCount());
try {
Thread.sleep(100);
int i;
if((i=tg.activeCount())<10){
System.out.println("One Thread Created!");
new Thread(tg,""){
public void run(){
while(true){
try {
Thread.sleep(1000);
if(Math.random()<0.5){
System.out.println("One Terminaled!");
break;
}
}
catch (InterruptedException ex) {
}
};
}
}.start();
}
}
catch (InterruptedException ex) {
}
}