中斷阻塞睡眠interrupt的使用

2021-06-25 20:27:00 字數 1386 閱讀 3618

關於interrupt的使用挺簡單的,一則**就知道了。

package day03;

/** * 中斷睡眠阻塞

* @author administrator

* */

public class interruptsleepblockdemo catch (interruptedexception e)

}});

/** huang,用於中斷lin的睡眠阻塞

*/thread huang = new thread(new runnable() catch (interruptedexception e)

}system.out.println("bow!!");

system.out.println("huang:ok!");

//終端lin的執行緒,打斷其睡眠阻塞

/** 乙個方法的區域性內部類中若要引用該方法的其他區域性變數,那麼這個變數必須是final的

*/lin.interrupt();

}});

lin.start();

huang.start();

}}

執行結果:

上面的例子其實可以用wait和notify來實現同樣的效果:

package day03;

/** * 中斷睡眠阻塞

* @author administrator

* */

public class waitandnotifysleepblockdemo catch (interruptedexception e1)

system.out.println("開始砸!");

Java多執行緒 interrupt中斷阻塞

interrupt 方法並不是中斷執行緒,而是中斷阻塞狀態,或者將執行緒的 中斷標誌位 置為true。對於未阻塞的執行緒,interrupt 只是造成 中斷標誌位 true,執行緒本身執行狀態不受影響。對於阻塞的執行緒,interrupt 會中斷阻塞狀態,使其轉換成非阻塞狀態,並清除 中斷標誌位 造...

執行緒中斷interrupt

案例 這裡需要注意一下,try catch到interruptedexception e異常時,中斷訊號會被抹除,所以th.isinterrupted 如果執行在catch異常前,則isinterrupted為true,可以正常退出,否則中斷訊號抹除後,isinterrupted得到的值為false...

睡眠 等待 阻塞

睡眠,等待,阻塞,應該是乙個概念 睡眠相關的 位於 include linux wait.h 和 kernel wait.c 中 1.進入睡眠 wait event sleep until a condition gets true wq the waitqueue to wait on condi...