1. 程式人生 > 其它 >多執行緒之執行緒停止

多執行緒之執行緒停止

package com.yeyue.demo01;

/*
1、建議執行緒正常停止----->利用次數,不建議死迴圈
2、建議使用標誌位----->設定一個標誌位
3、不要使用stop或者distory等過時或者jdk不建議的使用方法
*/

public class TestStop implements Runnable{
//定義執行緒中使用的標誌位
private boolean flag = true;

@Override
public void run() {
//執行緒體使用其標誌位
while(flag){
System.out.println("Thread is running ...");
}
}
//對外提供方法改變標誌位
public void stop(){
this.flag = false;
}

public static void main(String[] args) {
TestStop testStop = new TestStop();
new Thread(testStop).start();

for (int i = 0; i < 1000; i++) {
System.out.println("main"+i);
if(i==500){
testStop.stop(); //呼叫方法改變標誌位,停止執行緒
System.out.println("執行緒該停止了");
}
}

}
}