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

一 前言 最近在做項目的同時也在修復之前項目的一些Bug,所以忙得沒有時間看源代碼,今天都完成得差不多了,所以又開始源碼分析之路,也着筆記錄下ConcurrentSkipListMap的源碼的分析過程。 二 ConcurrentSkipListMap數據結構 抓住了數據結構,對於理解整個ConcurrentSkipListMap有很重要的作用,其實,通過源碼可知其數據結構如下。 說明:可以看到Co ...

2016-05-26 21:13 7 2311 推薦指數:

查看詳情

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
JUCJDK1.8源碼分析之CyclicBarrier(四)

一、前言   有了前面分析的基礎,現在,接着分析CyclicBarrier源碼,CyclicBarrier類在進行多線程編程時使用很多,比如,你希望創建一組任務,它們並行執行工作,然后在進行下一個步驟之前等待,直至所有的任務都完成,和join很類似,下面,開始分析源碼 ...

Tue Apr 19 03:13:00 CST 2016 3 3368
JUCJDK1.8源碼分析之CountDownLatch(五)

一、前言   分析完了CyclicBarrier后,下面分析CountDownLatch,CountDownLatch用於同步一個或多個任務,強制他們等待由其他任務執行的一組操作完成。CountDownLatch典型的用法是將一個程序分為n個互相獨立的可解決任務,並創建值為n ...

Thu Apr 21 04:35:00 CST 2016 2 4507
JUCJDK1.8源碼分析之Semaphore(六)

一、前言   分析了CountDownLatch源碼后,下面接着分析Semaphore的源碼。Semaphore稱為計數信號量,它允許n個任務同時訪問某個資源,可以將信號量看做是在向外分發使用資源的許可證,只有成功獲取許可證,才能使用資源。下面開始分析Semaphore的源碼 ...

Thu Apr 21 22:30:00 CST 2016 1 2469
JUCJDK1.8源碼分析之ReentrantLock(三)

一、前言   在分析了AbstractQueuedSynchronier源碼后,接着分析ReentrantLock源碼,其實在AbstractQueuedSynchronizer的分析中,已經提到過ReentrantLock,ReentrantLock表示下面具體分析ReentrantLock ...

Thu Apr 14 06:07:00 CST 2016 7 5320
JUCJDK1.8源碼分析之AbstractQueuedSynchronizer(二)

一、前言   在鎖框架中,AbstractQueuedSynchronizer抽象類可以毫不誇張的說,占據着核心地位,它提供了一個基於FIFO隊列,可以用於構建鎖或者其他相關同步裝置的基礎框架。所以很有必要好好分析。 二、AbstractQueuedSynchronizer數據結構   分析 ...

Fri Apr 08 18:16:00 CST 2016 13 12304
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM