執行緒知識點

2021-09-25 14:41:48 字數 1239 閱讀 4957

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 設定執行緒的優先順序 執行緒預設的優先順序是建立它...