
首先實(shí)現(xiàn)線程安全的queue的方式很很多種,比如說方法全部加鎖缀壤,再或者使用基于CAS的LinkedQueue。然后ConcurrentLinke...
前言 Exchanger是JUC里提供的供兩個(gè)線程之間交換數(shù)據(jù)或者交互的一個(gè)并發(fā)工具蚌卤,API也非常簡(jiǎn)單就兩個(gè)重載的exchange泛型方法筐付。 使...
前言 Semaphore一種通常用于維持?jǐn)?shù)量的信號(hào)量工具,在Java 并發(fā)中最常見的使用就是維持并發(fā)線程的個(gè)數(shù)记靡,正如之前提到的谈竿,并不是并發(fā)場(chǎng)景線...
前言 CountDownLatch 用于使一組線程(1 or n)等待一個(gè)外部任務(wù)的完成。很多人將它稱為閉鎖摸吠,可以理解為鎖的就是那些線程空凸,然后需...
前言 首先明確一點(diǎn),ReentrantReadWriteLock 指的并不是一個(gè)鎖寸痢,而是管理著讀鎖&寫鎖這樣的一組鎖呀洲,讀鎖是可共享的(share...
前言 Reentrant是一種可重入鎖,是一種遞歸無阻塞的同步機(jī)制。實(shí)現(xiàn)了和synchronized類似的同步策略道逗。與synchronized配...
JDK 10兵罢,可以說是很新了,比起JDK 8更新了不少實(shí)現(xiàn)滓窍,比如說下面會(huì)講到VarHandle 說了這么多篇原理類的卖词,終于要開始看源碼了。這一篇...
基礎(chǔ)概念 volatile 是一個(gè)Java 中的關(guān)鍵字贰您,一個(gè)提供基礎(chǔ)同步屬性的關(guān)鍵字坏平。針對(duì)JVM重排序在并發(fā)場(chǎng)景下的問題,被vlolatile修...