终止线程的方法
如何終止一個正在運行的線程?
設(shè)置狀態(tài)位來終止一個正在運行的線程。可以自己實現(xiàn), 也可以使用 interrupt 方法來設(shè)置這個狀態(tài)位, 然后在代碼中判斷 isInterrupted 的返回結(jié)果來執(zhí)行退出執(zhí)行的邏輯。
了解 Thread 類中的 stop、interrupt 方法嗎?為什么不用 stop 方法來終止線程的運行呢?
- stop 方法是用來強制中斷線程執(zhí)行的方法, 但是現(xiàn)在已經(jīng)過時了;
- interrupt 方法是用來設(shè)置線程的中斷狀態(tài)位的, 這個狀態(tài)位通過本地方法 interrupt0 來設(shè)置;
- stop 方法已經(jīng)過時了, 且 stop 方法是一種惡意的中斷, 一旦執(zhí)行, 將會立即終止當(dāng)前正在執(zhí)行的線程, 而不管線程的邏輯是否會被破壞(比如說丟棄這個線程中所有用到的監(jiān)視器鎖、破壞線程的原子邏輯)。
總結(jié)
- 上一篇: jmeter 线程执行顺序_Jmeter
- 下一篇: 计算机应用常用的30个函数,Excel中