如何停止執行緒?

2021-10-01 13:55:45 字數 588 閱讀 2320

使用退出標誌,使執行緒正常退出,也就是當run方法完成後執行緒終止。

使用stop方法強行終止執行緒(這個方法不推薦使用,因為stop和suspend、resume一樣,也可能發生不可預料的結果)。

使用interrupt方法中斷執行緒。(表示讓當前等待的執行緒直接丟擲異常)

**如下:

package com.newdemo.controller.test;

class

stopthread

extends

thread

catch

(interruptedexception e)

} system.out.

println

("子執行緒結束....");

}public

void

stopthread()

}public

class

threaddemo19

}catch

(exception e)}}

}

這樣的話,就能夠讓當前子執行緒停止,但是主線程還在繼續,所以這個時候要注意,不要以為**是錯誤的。

Interrupt如何停止執行緒

理解interrupt可以假設該執行緒擁有乙個變數boolean stopflag,一開始這個flag為false 關於interrupt有三個方法 1,interrupt 表示停止呼叫該方法的執行緒,這句話並不會停止該執行緒,只是會告訴該執行緒,你現在需要停止了。怎樣去停止讓該執行緒自己去完成。這...

如何正確停止執行緒

原理 new乙個thread物件,如 thread thread new thread runnable介面的實現類 然後呼叫thread.interrupt 方法 使用thread.interrupt 只是發出中段訊號,執行緒停不停止並不由自己決定,而是由被停止的執行緒決定,不是強制停止執行緒。r...

如何正確停止執行緒

使用interrupt來通知,並不是強制中斷,換句話說也就是不能強制停止執行緒,沒有停止執行緒的權力。當執行緒被阻塞時,會以拋異常的方式直接響應中斷訊號,不需要再像一種情況那樣進行判斷。如果在執行過程中,每次迴圈都會呼叫sleep或wait等方法,那麼不需要每次迭代都檢查是否已中斷,因為在阻塞狀態中...