多執行緒 ReentrantLock的原理以及使用

2021-09-13 03:16:34 字數 831 閱讀 1684

/**

* 兩個執行緒之間通訊根據不同的條件進行不同的通訊

* 1.await()其他程阻塞,要是當前執行緒向下執行,那麼其他的執行緒必須喚醒它本身,這樣當前執行緒才可以繼續向下執行

* 2.signal()喚醒當前執行緒

*/public class main

public static void main(string args)

//輸出到3時,告訴b執行緒,當前執行緒阻塞,喚醒,是乙個互對的關係

reachthreecondition.signal();

} finally

lock.lock();

//等待輸出6的條件

try

} catch (interruptedexception e) finally

}});

//輸出6的執行緒

thread threadb = new thread(new runnable()

} catch (interruptedexception e)

} finally

lock.lock();

//接受到訊號

try

//4,5,6輸出完畢,告訴a執行緒6輸出完了

reachsixcondition.signal();

} finally

}});

//啟動兩個執行緒

threadb.start();

threada.start();

}

可以參考以下的乙個部落格

寫的很詳細,並且比較了object類和當前類的方法的區別,以及用法

多執行緒 多執行緒原理

我們首先要知道什麼是多執行緒,說白了就是多個執行緒,執行緒是什麼呢,其實就是程序執行的途徑,那麼說道這裡我們又引入了乙個新的名字,就是程序,那麼我們來看看什麼是程序,其實我們自己也能看到,啟動電腦的任務管理器,我們就可以看到程序選項,裡面是我們電腦所有的程序,我們會發現有很多的程序.簡單地說就是程序...

AQS之可重入鎖ReentrantLock原理

一 經典故事 村子裡面,有一口井水。水質很好,村民們都想打井裡的水。村長這時就制定了規則 井邊安排乙個看井人,維護打水的秩序。打水時,以家庭為單位,哪個家庭任何人先到井邊,就可以先打水,而且如果乙個家庭佔到了打水權,其家人這時候過來打水不用排隊。而那些沒有搶占到打水權的人,乙個乙個挨著在井邊排成一隊...

多執行緒(一) tomcat 多執行緒

web server允許的最大執行緒連線數還受制於作業系統的核心引數設定,通常windows是2000個左右,linux是1000個左右。1.編輯tomcat安裝目錄下的conf目錄下的server.xml檔案 maxthreads 150 表示最多同時處理150個連線,tomcat使用執行緒來處理...