1、完成線程運(yùn)行的run()方法。
2、線程拋出未捕獲的Exception或Error。
3、另一個(gè)線程調(diào)用該線程的stop()方法(該方法已被拋棄)。它們?nèi)匀淮嬖?,但不?yīng)該在新代碼中使用它們,并試圖在現(xiàn)有代碼中消除它們。
實(shí)例
public class ServerThread extends Thread {
//volatile修飾符用來(lái)保證其它線程讀取的總是該變量的最新的值
public volatile boolean exit = false;
@Override
public void run() {
ServerSocket serverSocket = new ServerSocket(8080);
while(!exit){
serverSocket.accept(); //阻塞等待客戶端消息
...
}
}
public static void main(String[] args) {
ServerThread t = new ServerThread();
t.start();
...
t.exit = true; //修改標(biāo)志位,退出線程
}
}
以上就是java線程的三種結(jié)束方式,希望對(duì)大家有所幫助。更多關(guān)于“java培訓(xùn)”的問(wèn)題,歡迎咨詢千鋒教育在線名師。千鋒教育多年辦學(xué),課程大綱緊跟企業(yè)需求,更科學(xué)更嚴(yán)謹(jǐn),每年培養(yǎng)泛IT人才近2萬(wàn)人。不論你是零基礎(chǔ)還是想提升,都可以找到適合的班型,千鋒教育隨時(shí)歡迎你來(lái)試聽(tīng)。