執行緒同步(三)

2021-09-30 17:05:24 字數 909 閱讀 8640

1 中斷的應用場景

執行緒a.start()正瘋狂地計算乙個任務,這時我們抽風了,不想讓它繼續計算了,我們可以呼叫執行緒a.interrupt(),那麼執行緒a通過

不斷輪詢boolean flag = thread.interrupted(),得到狀態位,即中斷通知資訊,再由執行緒a自己決定是否結束執行緒

當執行緒a處於sleep狀態時,呼叫執行緒a.interrupt(),執行緒a將丟擲interruptedexception,任然由執行緒a自己決定是否結束執行緒

thread thread1 = new thread(()->

system.out.println("task1 inturrupt");

}) ;

thread1.start();

thread.sleep(3000);

thread1.interrupt();

thread thread2 = new thread(()->catch (interruptedexception e)

});thread2.start();

thread.sleep(3000);

thread2.interrupt();

呼叫執行緒.interrupt()中斷僅僅是起到通知作用,當事人執行緒可以獲得這個狀態,由自己決定是否結束

2 thread.interrupted()和thread.currentthread().isinterrupted()區別

如果呼叫了中斷,interrupted()在返回true的同時,清除中斷標誌位,再次呼叫interrupted()返回false;isinterrupted()不會清除中斷標誌位,再次呼叫isinterrupted()任然返回true

OpenMP(三) 執行緒同步

1.引言 在openmp中,執行緒同步機制包括互斥鎖同步機制和事件同步機制。2.互斥鎖同步 互斥鎖同步的概念類似於windows中的臨界區 criticalsection 以及windows和linux中的mutex以及vxworks中的semtake和semgive 初始化時訊號量為滿 即對某一塊...

執行緒同步機制《三》

三 執行緒同步機制分析 當多個執行緒同時啟動時,且這多個執行緒對同一資源進行操作時,會發生紊亂的現象。例項 如下 建立乙個執行緒1 public class thread1 extends thread public void run catch exception e 建立乙個執行緒2 publi...

同步 執行緒同步

操作執行的先後順序。同步指兩個或兩個以上隨時間變化的量在變化過程中保持一定的相對關係。同步 英語 synchronization 指對在乙個系統中所發生的事件 event 之間進行協調,在時間上出現一致性與統一化的現象。在系統中進行同步,也被稱為及時 in time 同步化的 synchronous...