多執行緒相關問題

CaptainZ發表於2018-05-16

多執行緒筆記一

多執行緒筆記二

多執行緒筆記三

多執行緒相關問題

一.多執行緒相關問題

1. Thread 與runnable區別
  • 共同點
  • 區別:runnable 可以在多個執行緒中共享達到共享資源的優勢,而且比較容易控制

二 執行緒間通訊

1. Synchronized 關鍵字
  • Synchronized 物件鎖
  • Synchronized 實現執行緒間的通訊
  • Synchronized/volatile

volatile 不允許講主記憶體的變數拷貝到執行緒的記憶體空間

volatile只能線上程和主記憶體直接同步一個變數值,Synchronized 可以同步執行緒和主記憶體直接所有的值。

  • Synchronized/lock

lock 方法需要制定起始與終點位置 Synchronized效能較差

Synchronized是悲觀鎖,lock 是樂觀鎖。

2. sleep/wait

wait 是object的方法 sleep 是執行緒的方法

3. wait/notify

wait notify 是object的方法,需要其他執行緒呼叫notify 才能釋放鎖。

執行緒池

  1. 優點
  • 降低資源消耗
  • 提高響應速度
  • 提高執行緒管理
  1. ThreadPoolExcutor
  • 構造引數介紹
  1. 執行緒池的工作流程
  • 判斷基本執行緒是否已經滿了
  • 判斷工作佇列是否已滿
  • 判斷整個執行緒是否滿了

相關文章