溶液を含む母集団の混合と摂動に基づくプログラムを作成していますVector
。
そこでfor loop
、ユーザーが指定した一定時間後に停止する を作成しました。
ループ内で 5 つのプロシージャを呼び出します。各プロシージャをスレッドに配置すると、プログラムは通常のメソッドを呼び出すよりも多くのソリューションを同時に作成できると思いました。
Thread.stop
ここで 5 は 5 つのスレッドを作成しましたが、それらを開始すると、 、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();
}