一、使用volatile [ˈvɑ:lətl] (不穩定的)標誌位
首先,實現乙個runnable介面,在其中定義volatile標誌位,在run()方法中使用標誌位控制程式執行。
public class myrunnable implements runnable catch (interruptedexception e)
//退出標誌生效位置
while (flag)
system.out.println("第" + thread.currentthread().getname() + "個執行緒終止");}}
然後,在main()方法中建立執行緒,在合適的時候,修改標誌位,終止執行中的執行緒。
public class treadtest
//執行緒休眠
thread.sleep(2000l);
system.out.println("——————————————————————————");
//修改退出標誌,使執行緒終止
runnable.flag = false;
}3、使用interrupt()中斷的方式,注意使用interrupt()方法中斷正在執行中的執行緒只會修改中斷狀態位,可以通過isinterrupted()判斷。如果使用interrupt()方法中斷阻塞中的執行緒,那麼就會丟擲interruptedexception異常,可以通過catch捕獲異常,然後進行處理後終止執行緒。有些情況,我們不能判斷執行緒的狀態,所以使用interrupt()方法時一定要慎重考慮。
看乙個簡單的例子(中斷執行中的執行緒):
public class myrunnable2 implements runnable catch (interruptedexception e)
//執行時的執行緒被中斷後,只會修改中斷標記,不會丟擲異常
while(thread.currentthread().isinterrupted())
system.out.println(thread.currentthread().getname() + " 執行緒被中斷");}}
public class treadtest
如何優雅地恢復執行中的容器應用
作者簡介 鞠巨集超,rancher研發工程師。4年雲計算領域經驗,2018年加入rancher labs,先後參與了longhorn產品研發,rancher2.x產品研發,目前主要致力於rancher企業版產品的設計與研發工作。longhorn是基於kubernetes的輕量級分布式塊儲存系統,它完...
oracle 如何終止儲存過程的執行
0.查詢正在執行的儲存過程 select from v db object cache where locks 0 and pins 0 and type procedure 1.在v access檢視中找到要停止程序的sid 舉例 儲存過程名 crh entry select t.from v a...
英語中如何優雅的罵人
英語中如何優雅的罵人 人在北美 講英語難,吵架更難.雖說人在國外總是想盡辦法以和為貴,但要跟人家吵架怎麼辦?很多人一生氣,所有的英文都忘光了,平常英文就說不出口,更何況是吵架,所以滿腦子浮現的不是 f 就是 s 這樣是很不好的.我還聽過有乙個人很絕,英文罵不過人。家就用中文罵,反正對方聽得懂聽不懂都...