当线程调用interrupt方法后,为什么还要运行完run方法呢?那中断线程还有什么意义?
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
Java中斷機制是一種協作機制,也就是說透過中斷並不能直接終止另一個線程,而需要被中斷的執行緒自己處理中斷。這好比是家裡的父母叮嚀在外的子女要注意身體,但子女是否注意身體,怎麼注意身體則完全取決於自己。
詳細分析Java中斷機制
Java執行緒也有一個不讓run方法走完的方式,那就是stop方法,可是這個方法已經被jdk棄用了,為什麼呢?如果你的線程正在修改某處數據,可以是資料庫,可以是寫文件,stop方法不由分說就把線程殺死了,那數據是不是就出現混亂,不一致的狀況?所以Java的執行緒採用的是中斷機制,並且你可以捕捉這個中斷,並做出中斷後需要做的操作。
詳細分析Java中斷機制
Java執行緒也有一個不讓run方法走完的方式,那就是stop方法,可是這個方法已經被jdk棄用了,為什麼呢?如果你的線程正在修改某處數據,可以是資料庫,可以是寫文件,stop方法不由分說就把線程殺死了,那數據是不是就出現混亂,不一致的狀況?所以Java的執行緒採用的是中斷機制,並且你可以捕捉這個中斷,並做出中斷後需要做的操作。