このようなコードで1つの「父」スレッドによって作成されたスレッドを停止する方法を知りたい。スレッドをさらに作成するスレッド
public class HiloEspecie extends Thread{
private Especie especie;
private Procreador pro;
public HiloEspecie(Especie especie, Procreador pro){
this.especie = especie;
this.pro = pro;
}
public void run() {
while(!pro.isEmpty()){
pro.procrear(especie.getIcon(), especie.getTiempoReproduccion());
HiloEspecie hijo = new HiloEspecie(especie, pro);
hijo.start();
}
}
}
/*「hijo」スレッドの配列が必要かどうかを教えてください。または後でそれらを停止するために多分threadPool
/*編集:: あなたが私にくれたすべてのヒントをありがとう、私は実際にスレッドグループを使用して解決するために、Javaを自動的に割り当てます私がする必要があるのは、新しいスレッドグループを作成して "父"スレッドに割り当て、その後彼のすべての "子"がデフォルトで同じスレッドグループに含まれていて、最後に(注意深く)(スレッドグループ)xxyy.stop(); "父"スレッドを含むすべてのスレッドを停止します。
あなたは 'ThreadGroup'を持つことができます。 – Kayaman
トップレベルからスレッドを停止するのではなく、スレッドが親クラスに読み込み可能な 'flag'を設定することで自分自身を強制終了させるべきであることを知らせます。 –
@ScaryWombat - または、 'Thread.interrupt()'と 'Thread.isInterrupted()'を使用して –