99热这里有精品-夜夜嗨av色一区二区不卡-亚洲国产精彩中文乱码AV-日本japanese乳偷乱熟

JUC 第7章JUC強大的輔助類講解

第7章?JUC強大的輔助類講解

1.?ReentrantReadWriteLock讀寫鎖

類似軟件:紅蜘蛛

程序代碼:

,

2.?CountDownLatch減少計數

? ? 2.1? 原理

CountDownLatch主要有兩個方法,當一個或多個線程調用await方法時,這些線程會阻塞。

其它線程調用countDown方法會將計數器減1(調用countDown方法的線程不會阻塞),當計數器的值變為0時,因await方法阻塞的線程會被喚醒,繼續執行。

? ? 2.2? 程序代碼

3.?CyclicBarrier循環柵欄

? ? 3.1? 原理

CyclicBarrier的字面意思是可循環(Cyclic)使用的屏障(Barrier)。它要做的事情是,讓一組線程到達一個屏障(也可以叫同步點)時被阻塞,直到最后一個線程到達屏障時,屏障才會開門,所有被屏障攔截的線程才會繼續干活。線程進入屏障通過CyclicBarrier的await()方法。

? ?3.1? 程序代碼

4.?Semaphore信號燈

? ? 4.1 原理

在信號量上我們定義兩種操作:

??acquire(獲取) 當一個線程調用acquire操作時,它要么通過成功獲取信號量(信號量減1),要么一直等下去,直到有線程釋放信號量,或超時。

?release(釋放)實際上會將信號量的值加1,然后喚醒等待的線程。信號量主要用于兩個目的,一個是用于多個共享資源的互斥使用,另一個用于并發線程數的控制。

? ?4.1? 程序代碼

 

云霄县| 三亚市| 江口县| 齐齐哈尔市| 靖安县| 兴国县| 慈溪市| 贵德县| 曲水县| 调兵山市| 彭阳县| 钟山县| 双城市| 龙门县| 抚顺市| 汝南县| 黔西| 扎兰屯市| 庐江县| 崇州市| 重庆市| 六盘水市| 昔阳县| 浑源县| 黄骅市| 库尔勒市| 长岭县| 文水县| 泽普县| 从江县| 临桂县| 屏南县| 清原| 重庆市| 如东县| 阿尔山市| 巴楚县| 舒城县| 宜良县| 卢龙县| 常山县|