1.join:
執行緒a 呼叫了 執行緒b 的 join() 方法 ,執行緒a 必須等待執行緒b 執行完後 才能執行;
2.yield()、sleep()、wait()、notify()釋放鎖問題
呼叫yield()、sleep() 執行緒 持有的鎖 不釋放;
wait()呼叫方法前 必須持有鎖,呼叫之後釋放鎖,wait()返回後持有鎖;
notify()呼叫方法前 必須要只有鎖,呼叫之後 的**走完 ,釋放鎖
3.fork join 分而治之
有返回 extend recursivetask
沒有返回 extend recursiveaction
非同步 pool.execute(task)
同步 pool.invoke(task)
4.countdownlatch
作用:是乙個執行緒等待其他執行緒完成工作以後再執行,加強版 join
countdownlatch計數器 其他執行緒需要等待的 await(), 減到 0 await 後面的開始執行
5.cyclibarrier
讓一組執行緒達到某乙個屏障,一直到組內最後乙個執行緒達到屏障時,所有被阻塞的執行緒會繼續執行
6.semaphore
控制同時訪問某個特定資源的數量。
同步關鍵類,構造方法傳入的數字是多少,則同乙個時刻,只執行多少個程序同時執行制定**
7.exchager
執行緒間的資料交換,限制兩個執行緒之間交換
8.locksport
9.aqs
獨享鎖獲取鎖:
tryacquire 需要覆蓋
acquire(int arg)
acquireinterruptibly(int arg)
tryacquirenanos(int arg, long nanostimeout)獨享釋放鎖:
release
tryrelease 需要覆蓋
共享鎖獲取鎖:
acquireshared
acquiresharedinterruptibly
tryacquiresharednanos
tryacquireshared 需要覆蓋共享釋放鎖:
releaseshared
tryreleaseshared 需要覆蓋
是否處於獨佔模式:isheldexclusively()
執行緒的知識點
在傳統作業系統中,每乙個程序就有乙個位址空間,而且預設就有乙個控制線程,cpu真正的執行單位是執行緒。就好比在工廠中,每個車間都有房子,這個房子就是記憶體空間,每個車間預設有一條流水線,就是執行緒。作業系統 工廠 程序 車間 執行緒 流水線 cpu 電源 執行緒 cpu最小的執行單位 程序 資源集合...
執行緒知識點總結
j a執行緒的兩個特性 可見性和有序性 多個執行緒之間是不能傳遞資料互動的,他們之間的互動只能通過共享變數來實現。在多個執行緒之間共享了count類的乙個物件,這個物件時被建立在主記憶體 堆記憶體 每個執行緒都有自己的工作記憶體 執行緒棧 工作記憶體儲存了主記憶體count物件的乙個副本,當執行緒操...
有關執行緒的知識點
今天總結的是有關執行緒的知識點 執行緒的狀態轉換是執行緒控制的基礎。執行緒狀態總的可分為五大狀態 分別是生 死 可執行 執行 等待 阻塞。用乙個圖來描述如下 睡眠的實現 呼叫靜態方法。try catch interruptedexception e 設定執行緒的優先順序 執行緒預設的優先順序是建立它...