原创 併發編程(十):AQS之CyclicBarrier

一,底層AQS源碼分析:併發編程(四):AbstractQueuedSynchronizer源碼分析 二,CyclicBarrier介紹     1,線程處理         * CyclicBarrier 的字面意思就是循環屏障。在一組

原创 併發編程(二):Synchornized關鍵字

一,Synchorized語法演示     1,類方法演示;靜態類同步是對類對象加鎖,基於同一類對象的操作都會在阻塞隊列等待執行(通過自定義類加載器可以實現類的不同加載) package com.gupao.concurrent; /

原创 NIO(四):源碼分析_Register部分

註冊,就是將當前Channel註冊到Selector上,是NIO源碼的核心部分 1,Channel.register()部分 serverSocketChannel.register(selector, SelectionKey.OP_A

原创 併發編程(十三):阻塞隊列之ArrayBlockingQueue

一,關聯源碼鏈接     * 併發編程(四):AbstractQueuedSynchronizer源碼分析     * 併發編程(五):AQS之重入鎖ReentrantLock    * 併發編程(七):AQS之Condition 二,A

原创 併發編程(六):AQS之讀寫鎖ReentrantReadWriteLock

一,AQS源碼博文:併發編程:AbstractQueuedSynchronizer源碼分析 二,ReentrantReadWriteLock讀寫鎖介紹 1,讀寫鎖介紹      ReentrantReadWriteLock 雖然與 Ree

原创 併發編程(五):AQS之重入鎖ReentrantLock

一,AQS源碼博文:併發編程:AbstractQueuedSynchronizer源碼分析 二,ReentrantLock重入鎖基本介紹     1,類圖         * 從圖中可以看到,ReentrantLock是頂層鎖接口Loc

原创 併發編程(十二):ConcurrentHashMap源碼分析

一,ConcurrentHashMap概述 1,ConcurrentHashMap     * ConcurrentHashMap 和 HashMap 原理基本一致,就是在 HashMap 的基礎上增加了鎖處理,支持併發操作,在實現上比

原创 併發編程(十五):原子操作之AtomicInteger

一,Atomic 概述 1,原子類     * JUC中提供了一系列原子類,通過CAS在多線程環境下來保證原子操作,此處只對 AtomicInteger進行簡單分析 2,常用API     * 同時,Atomic類提供了一系列API來保

原创 併發編程(四):AbstractQueuedSynchronizer源碼分析

一,AQS     1,AQS是JUC的核心功能組件,主要通過FIFO雙向鏈表特性對進行park()和unpark()操作來實現線程阻塞和線程喚醒。AQS主要提供了兩種功能,獨佔和共享。             * 獨佔鎖:獨佔鎖,每次只

原创 併發編程(七):AQS之Condition

  一,底層AQS源碼分析:併發編程(四):AbstractQueuedSynchronizer源碼分析 二,Condition介紹     1,線程通信         * 在 synchronized 中,有分析過通過 wait()/

原创 併發編程(三):Volatile關鍵字

一,一段代碼引發可見性思考     1,代碼片段:從代碼可以看出,子線程會一直在循環中阻塞,當主線程已經修改flag的值爲true後,子線程並沒有對flag值做同步修改。當給flag加上volatile關鍵字修飾後,則子線程會獲取到最新的

原创 併發編程(十六):線程池

一,ThreadPoolExecutor 概述 1,線程池優勢     在Java中,如果每個請求到達就創建一個線程,創建線程和銷燬線程對系統資源的消耗都非常大,甚至可能比實際業務處理消耗的資源都大。同時,如果在JVM中創建太多的線程,也

原创 併發編程(九):AQS之Semaphore

一,底層AQS源碼分析:併發編程(四):AbstractQueuedSynchronizer源碼分析 二,Semaphore介紹     1,線程訪問控制         Semaphore 也就是我們常說的信號燈,通過初始化的信號量控制

原创 併發編程(八):AQS之CountDownLatch

一,底層AQS源碼分析:併發編程(四):AbstractQueuedSynchronizer源碼分析 二,CountDownLatch介紹     1,線程控制         * CountDownLatch 是一個同步工具類,允許一個

原创 併發編程(十四):阻塞隊列之LinkedBlockingQueue

一,關聯源碼鏈接     * 併發編程(四):AbstractQueuedSynchronizer源碼分析     * 併發編程(五):AQS之重入鎖ReentrantLock     * 併發編程(七):AQS之Condition 二,