原文:【JUC】JDK1.8源碼分析之AbstractQueuedSynchronizer(二)

一 前言 在鎖框架中,AbstractQueuedSynchronizer抽象類可以毫不誇張的說,占據着核心地位,它提供了一個基於FIFO隊列,可以用於構建鎖或者其他相關同步裝置的基礎框架。所以很有必要好好分析。 二 AbstractQueuedSynchronizer數據結構 分析類,首先就要分析底層采用了何種數據結構,抓住核心點進行分析,經過分析可知,AbstractQueuedSynchro ...

2016-04-08 10:16 13 12304 推薦指數:

查看詳情

JUCJDK1.8源碼分析之ThreadPoolExecutor(一)

一、前言   JUC這部分還有線程池這一塊沒有分析,需要抓緊時間分析,下面開始ThreadPoolExecutor,其是線程池的基礎,分析完了這個類會簡化之后的分析,線程池可以解決兩個不同問題:由於減少了每個任務調用的開銷,它們通常可以在執行大量異步任務時提供增強的性能,並且還可以提供綁定和管理 ...

Fri Jun 17 22:33:00 CST 2016 8 7176
JUCJDK1.8源碼分析之LinkedBlockingQueue(四)

一、前言   分析完了ArrayBlockingQueue后,接着分析LinkedBlockingQueue,與ArrayBlockingQueue不相同,LinkedBlockingQueue底層采用的是鏈表結構,其源碼也相對比較簡單,下面進行正式的分析 ...

Sun May 29 19:07:00 CST 2016 1 2292
JUCJDK1.8源碼分析之CopyOnWriteArrayList(六)

一、前言   由於Deque與Queue有很大的相似性,Deque為雙端隊列,隊列頭部和尾部都可以進行入隊列和出隊列的操作,所以不再介紹Deque,感興趣的讀者可以自行閱讀源碼,相信偶了Queue源碼分析經驗,Deque的分析也會水到渠成,下面介紹List在JUC下 ...

Wed Jun 01 18:44:00 CST 2016 2 1807
JUCJDK1.8源碼分析之ConcurrentHashMap(一)

一、前言   最近幾天忙着做點別的東西,今天終於有時間分析源碼了,看源碼感覺很爽,並且發現ConcurrentHashMap在JDK1.8版本與之前的版本在並發控制上存在很大的差別,很有必要進行認真的分析,下面進行源碼分析。 二、ConcurrentHashMap數據結構   之前已經提及 ...

Wed May 04 06:06:00 CST 2016 4 8216
JUCJDK1.8源碼分析之ReentrantReadWriteLock

重入鎖ReentrantLock是排他鎖,排他鎖在同一時刻僅有一個線程可以進行訪問,但是在大多數場景下,大部分時間都是提供讀服務,而寫服務占有的時間較少。然而讀服務不存在數據競爭問題,如果一個線 ...

Wed Sep 12 23:59:00 CST 2018 0 1155
JUCJDK1.8源碼分析之ArrayBlockingQueue(三)

一、前言   在完成Map下的並發集合后,現在來分析ArrayBlockingQueue,ArrayBlockingQueue可以用作一個阻塞型隊列,支持多任務並發操作,有了之前看源碼的積累,再看ArrayBlockingQueue源碼會很容易,下面開始正文 ...

Fri May 27 23:45:00 CST 2016 0 1715
JUCJDK1.8源碼分析之LockSupport(一)

一、前言   最開始打算分析ReentrantLock,但是分析到最后,發現離不開LockSuport的支持,所以,索性就先開始分析LockSupport,因為它是鎖中的基礎,是一個提供鎖機制的工具類,所以先對其進行分析。 二、LockSupport源碼分析   2.1 類的屬性 ...

Sun Apr 03 01:03:00 CST 2016 8 3437
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM