1_基礎(chǔ)知識_chapter05_基礎(chǔ)構(gòu)建模塊_4_阻塞方法與中斷方法

  • 和Thread.sleep一樣, BlockingQueue的put和take方法會拋出編譯器異常 InterruptedException; __如果一個方法拋出InterruptedException, 說明這個方法是一個阻塞方法

  • Thread提供了interrupt(), interrupted(), isInterrupted()方法(還沒看)

  • 每個線程都有一個bool類型的標志位用來表示線程的中斷狀態(tài), 當調(diào)用interrupt時會設置某個線程的這個標志位

  • 中斷是一種協(xié)作機制, 對一個線程調(diào)用t1.interrupt()不會讓他t1停下來,僅僅是告訴t1應該處理

  • 處理InterruptedException的方式

    (1) 直接傳遞異常

    不捕獲異常直接拋出 或捕獲異常做簡單清理再次拋出

    (2) 恢復中斷

    當代碼是Runnable的一部分時只能捕獲InterruptedException, 并通過調(diào)用當前線程的interrupt()方法恢復中斷狀態(tài)(否則中斷狀態(tài)會消失), 這樣更高層代碼將看到引發(fā)了一個中斷

    示例

      public class TaskRunnable implements Runnable {
    
          BlockingQueue<Task> queue;
    
          public void run() {
      
              try {
                  processTask(queue.take());
              } catch (InterruptedException e) {
          
                  // restore interrupted status
                  Thread.currentThread().interrupt();
              }
          }
    
          void processTask(Task task) {
              // Handle the task
          }
    
          interface Task {
          }
      }
    

    千萬不要只捕獲InterruptedException異常而不作任何處理!!!這樣線程被中斷的證據(jù)已經(jīng)被丟失更高層的代碼無法處理

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末痛倚,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子澜躺,更是在濱河造成了極大的恐慌蝉稳,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件掘鄙,死亡現(xiàn)場離奇詭異耘戚,居然都是意外死亡,警方通過查閱死者的電腦和手機操漠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進店門收津,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人浊伙,你說我怎么就攤上這事撞秋。” “怎么了吧黄?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵部服,是天一觀的道長。 經(jīng)常有香客問我拗慨,道長廓八,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任赵抢,我火速辦了婚禮剧蹂,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘烦却。我一直安慰自己宠叼,他們只是感情好,可當我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著冒冬,像睡著了一般伸蚯。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上简烤,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天剂邮,我揣著相機與錄音,去河邊找鬼横侦。 笑死挥萌,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的枉侧。 我是一名探鬼主播引瀑,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼榨馁!你這毒婦竟也來了憨栽?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤辆影,失蹤者是張志新(化名)和其女友劉穎徒像,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蛙讥,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡锯蛀,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了次慢。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片旁涤。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖迫像,靈堂內(nèi)的尸體忽然破棺而出劈愚,到底是詐尸還是另有隱情,我是刑警寧澤闻妓,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布菌羽,位于F島的核電站,受9級特大地震影響由缆,放射性物質(zhì)發(fā)生泄漏注祖。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一均唉、第九天 我趴在偏房一處隱蔽的房頂上張望是晨。 院中可真熱鬧,春花似錦舔箭、人聲如沸罩缴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽箫章。三九已至烙荷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間炉抒,已是汗流浹背奢讨。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留焰薄,地道東北人。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓扒袖,卻偏偏與公主長得像塞茅,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子季率,可洞房花燭夜當晚...
    茶點故事閱讀 42,834評論 2 345

推薦閱讀更多精彩內(nèi)容