それが実際に可能かどうかはわかりませんが、2つのクラスがあると仮定しましょう。1つはThread内でエンドレスループを実行し、もう1つはメソッドmain内でそのクラスのインスタンスを作成します。したがって、すべてがうまく機能しますが、そのインスタンスをmainに破棄し、エンドレスループでThreadの実行を中断するにはどうすればよいですか。次に例を示します。
public class Main {
public static void main(String[] args){
new ThreadClass();
{
public class ThreadClass{
public ThreadClass{
try{
Thread t = new Thread(new Runnable(){
int i = 0;
public void run(){
while(true){
i += 1;
System.out.println(i);
}
}
});
t.start();
}catch(Exception e){
System.out.println("something ");
}
}
}
前もって感謝します :)
ThreadClass
ループを終了するように指示する方法(メソッドなど)を公開する必要があります。(通常volatile
、ループで使用されるフラグの設定/クリアが含まれますwhile
。)次にmain
、適切なタイミングでそのメソッドを使用します。いつにしたいのかは明確ではありませんが、作成したインスタンスへの参照を保持し、そのときが来たらメソッドを使用します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加