首頁  >  問答  >  主體

java的中断线程interrupt()方法,为什么还要把run()方法走完呢?那中断线程不就没有意义了吗?

当线程调用interrupt方法后,为什么还要运行完run方法呢?那中断线程还有什么意义?

高洛峰高洛峰2729 天前730

全部回覆(2)我來回復

  • 怪我咯

    怪我咯2017-04-18 09:35:34

    Java中斷機制是一種協作機制,也就是說透過中斷並不能直接終止另一個線程,而需要被中斷的執行緒自己處理中斷。這好比是家裡的父母叮嚀在外的子女要注意身體,但子女是否注意身體,怎麼注意身體則完全取決於自己。

    詳細分析Java中斷機制

    回覆
    0
  • 黄舟

    黄舟2017-04-18 09:35:34

    Java執行緒也有一個不讓run方法走完的方式,那就是stop方法,可是這個方法已經被jdk棄用了,為什麼呢?如果你的線程正在修改某處數據,可以是資料庫,可以是寫文件,stop方法不由分說就把線程殺死了,那數據是不是就出現混亂,不一致的狀況?所以Java的執行緒採用的是中斷機制,並且你可以捕捉這個中斷,並做出中斷後需要做的操作。

    回覆
    0
  • 取消回覆