フラグビットを使用して、Javaマルチスレッドでスレッドを停止します

スレッドが停止する方法

1.スレッドを正常に停止することをお勧めします----- "使用時間、無限ループ
は推奨されません。2。フラグを使用することをお勧めします-----"フラグビットを設定します。3
。使用しないでください。 stopまたはdestroyおよびその他の古いメソッドまたはjdkメソッド

*ここではフラグビットを使用します:メインスレッドが90回目に達したときに子スレッドを停止します

//测试stop
//1.建议线程正常停止-----》利用次数,不建议死循环
//2.建议使用标志位-----》设置一个标志为
//3.不要使用stop或者destroy等过时或者jdk不建议的方法
public class TextThread5  implements Runnable {
    
    

    //设置一个标志位
    private boolean flag=true;

    @Override
    public void run() {
    
    
        int i=0;
        while (flag){
    
    
            System.out.println("子线程"+i++);
        }
    }

    //设置一个公开的方法停止线程,转换标志位
    public void stop(){
    
    
        this.flag=false;
    }

    public static void main(String[] args) {
    
    
            TextThread5 textThread5=new TextThread5();
            new Thread(textThread5).start();
        for (int i = 0; i < 100; i++) {
    
    
            System.out.println("main线程"+i);
            if (i==90){
    
    
                //调用stop方法切换标识符,让线程停止
                textThread5.stop();
                System.out.println("子线程该停止了");
            }
        }
    }
}

効果:
ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/moerduo0/article/details/113803579