一、前言 分析完了CyclicBarrier后,下面分析CountDownLatch,CountDownLatch用於同步一個或多個任務,強制他們等待由其他任務執行的一組操作完成。CountDo ...
一 前言 前段時間結束了jdk . 集合框架的源碼閱讀,在過年的這段時間里,一直在准備JUC java.util.concurrent 的源碼閱讀。平時接觸的並發場景開發並不很多,但是有網絡的地方,就存在並發,所以想找幾本書閱讀深入一下,看到網上推薦較多的兩本書 Java並發編程實戰 和 Java多線程編程核心技術 。看了兩書的優缺點后,筆者選擇了先看后者,據說代碼例子較多,書到手后,看完后的印象 ...
2018-03-12 10:50 0 981 推薦指數:
一、前言 分析完了CyclicBarrier后,下面分析CountDownLatch,CountDownLatch用於同步一個或多個任務,強制他們等待由其他任務執行的一組操作完成。CountDo ...
一、前言 分析了CountDownLatch源碼后,下面接着分析Semaphore的源碼。Semaphore稱為計數信號量,它允許n個任務同時訪問某個資源,可以將信號量看做是在向外分發使用資源的 ...
一、前言 在分析了AbstractQueuedSynchronier源碼后,接着分析ReentrantLock源碼,其實在AbstractQueuedSynchronizer的分析中,已經提到過 ...
一、前言 在鎖框架中,AbstractQueuedSynchronizer抽象類可以毫不誇張的說,占據着核心地位,它提供了一個基於FIFO隊列,可以用於構建鎖或者其他相關同步裝置的基礎框架。所以 ...
一、前言 接着前面的分析,接下來分析ConcurrentLinkedQueue,ConcurerntLinkedQueue一個基於鏈接節點的無界線程安全隊列。此隊列按照 FIFO(先進先出)原則 ...
一、前言 本篇是在分析Executors源碼時,發現JUC集合框架中的一個重要類沒有分析,SynchronousQueue,該類在線程池中的作用是非常明顯的,所以很有必要單獨拿出來分析一番,這對於之后理解線程池有很有好處,SynchronousQueue是一種阻塞隊列,其中每個插入操作 ...
一、前言 最近在做項目的同時也在修復之前項目的一些Bug,所以忙得沒有時間看源代碼,今天都完成得差不多了,所以又開始源碼分析之路,也着筆記錄下ConcurrentSkipListMap的源碼的分 ...
重入鎖ReentrantLock是排他鎖,排他鎖在同一時刻僅有一個線程可以進行訪問,但是在大多數場景下,大部分時間都是提供讀服務,而寫服務占有的時間較少。然而讀服務不存在數據競爭問題,如果一個線 ...