我正在创建一个基于在包含解决方案的群体中混合和扰动的程序Vector
。
所以我创建了一个for loop
在用户给定的特定时间后停止的。
在循环内部,我将调用 5 个过程,我认为如果我将每个过程放在一个线程中,将使程序在同一时间产生比调用普通方法更多的解决方案。
这里 5 创建了 5 个线程,但是当我启动它们时,即使我使用Thread.stop
,或Thread.suspend
Thread.interrupt
Thread.destroy
这是我的代码,你能帮我出主意吗?
我插入了一个新变量:
public volatile boolean CrossOpb = true;`
这是我的代码:
Thread CrossOp = new Thread(new Runnable() {
public void run() {
while(CrossOpb == true){
int rdmCross2=(int) (Math.random() * allPopulation.size()) ; // Crossover 1st vector
int rdmCross1=(int) (Math.random() * allPopulation.size()) ;
Vector muted = new Vector();
Vector copy = copi((Vector) allPopulation.get(rdmCross2));
Vector callp = copi((Vector) allPopulation.get(rdmCross1));
muted = crossover(callp, copy);
System.out.println("cross over Between two Randoms ----------->");
affiche_resultat(muted);
allPopulation.add(muted);
}
}
});
循环:
CrossOp.setDaemon(true);
int loop = 1;
long StartTime = System.currentTimeMillis() / 1000;
for (int i = 0; i < loop; ++i) {
loop++;
if (timevalue < ((System.currentTimeMillis() / 1000) - StartTime)) {
loop = 0;
CrossOpb = false;
}
CrossOp.start();
}