├── README.md ├── pom.xml └── src ├── main └── java │ └── java │ └── util │ └── concurrent │ ├── AbstractExecutorService.java │ ├── ArrayBlockingQueue.java │ ├── BlockingDeque.java │ ├── BlockingQueue.java │ ├── BrokenBarrierException.java │ ├── Callable.java │ ├── CancellationException.java │ ├── CompletionService.java │ ├── ConcurrentHashMap.java │ ├── ConcurrentLinkedDeque.java │ ├── ConcurrentLinkedQueue.java │ ├── ConcurrentMap.java │ ├── ConcurrentNavigableMap.java │ ├── ConcurrentSkipListMap.java │ ├── ConcurrentSkipListSet.java │ ├── CopyOnWriteArrayList.java │ ├── CopyOnWriteArraySet.java │ ├── CountDownLatch.java │ ├── CyclicBarrier.java │ ├── DelayQueue.java │ ├── Delayed.java │ ├── Exchanger.java │ ├── ExecutionException.java │ ├── Executor.java │ ├── ExecutorCompletionService.java │ ├── ExecutorService.java │ ├── Executors.java │ ├── ForkJoinPool.java │ ├── ForkJoinTask.java │ ├── ForkJoinWorkerThread.java │ ├── Future.java │ ├── FutureTask.java │ ├── LinkedBlockingDeque.java │ ├── LinkedBlockingQueue.java │ ├── LinkedTransferQueue.java │ ├── Phaser.java │ ├── PriorityBlockingQueue.java │ ├── RecursiveAction.java │ ├── RecursiveTask.java │ ├── RejectedExecutionException.java │ ├── RejectedExecutionHandler.java │ ├── RunnableFuture.java │ ├── RunnableScheduledFuture.java │ ├── ScheduledExecutorService.java │ ├── ScheduledFuture.java │ ├── ScheduledThreadPoolExecutor.java │ ├── Semaphore.java │ ├── SynchronousQueue.java │ ├── ThreadFactory.java │ ├── ThreadLocalRandom.java │ ├── ThreadPoolExecutor.java │ ├── TimeUnit.java │ ├── TimeoutException.java │ ├── TransferQueue.java │ ├── atomic │ ├── AtomicBoolean.java │ ├── AtomicInteger.java │ ├── AtomicIntegerArray.java │ ├── AtomicIntegerFieldUpdater.java │ ├── AtomicLong.java │ ├── AtomicLongArray.java │ ├── AtomicLongFieldUpdater.java │ ├── AtomicMarkableReference.java │ ├── AtomicReference.java │ ├── AtomicReferenceArray.java │ ├── AtomicReferenceFieldUpdater.java │ ├── AtomicStampedReference.java │ └── package-info.java │ ├── locks │ ├── AbstractOwnableSynchronizer.java │ ├── AbstractQueuedLongSynchronizer.java │ ├── AbstractQueuedSynchronizer.java │ ├── Condition.java │ ├── Lock.java │ ├── LockSupport.java │ ├── ReadWriteLock.java │ ├── ReentrantLock.java │ ├── ReentrantReadWriteLock.java │ └── package-info.java │ └── package-info.java └── test └── java └── vjava └── util └── concurrent ├── AbstractQueuedSynchronizer ├── CLH lock queue & Spin lock ├── DelayQueueDemo.java ├── How to read ├── Lock ├── SimpleAqsImplDemo.java ├── Spurious wakeup ├── ThreadPoolExecutor └── locks ├── BoundedBuffer1.java ├── BoundedBuffer2.java ├── ClhSpinLockDemo.java ├── CountDownLatchDemo.java ├── CyclicBarrierDemo.java ├── FIFOMutexDemo.java ├── LockSupportAndWaitNotify.java ├── LockSupportTest.java ├── LockSupportTest2.java ├── ReadWriteLock.java ├── ReentrantLockDemo.java ├── ReentrantLockDemo2.java └── SynchronizedDemo.java /README.md: -------------------------------------------------------------------------------- 1 | # ReadTheJDK 2 | JDK源码阅读 3 | -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/pom.xml -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/AbstractExecutorService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/AbstractExecutorService.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/ArrayBlockingQueue.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/ArrayBlockingQueue.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/BlockingDeque.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/BlockingDeque.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/BlockingQueue.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/BlockingQueue.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/BrokenBarrierException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/BrokenBarrierException.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/Callable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/Callable.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/CancellationException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/CancellationException.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/CompletionService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/CompletionService.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/ConcurrentHashMap.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/ConcurrentHashMap.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/ConcurrentLinkedDeque.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/ConcurrentLinkedDeque.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/ConcurrentLinkedQueue.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/ConcurrentLinkedQueue.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/ConcurrentMap.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/ConcurrentMap.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/ConcurrentNavigableMap.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/ConcurrentNavigableMap.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/ConcurrentSkipListMap.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/ConcurrentSkipListMap.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/ConcurrentSkipListSet.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/ConcurrentSkipListSet.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/CopyOnWriteArrayList.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/CopyOnWriteArrayList.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/CopyOnWriteArraySet.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/CopyOnWriteArraySet.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/CountDownLatch.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/CountDownLatch.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/CyclicBarrier.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/CyclicBarrier.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/DelayQueue.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/DelayQueue.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/Delayed.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/Delayed.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/Exchanger.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/Exchanger.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/ExecutionException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/ExecutionException.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/Executor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/Executor.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/ExecutorCompletionService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/ExecutorCompletionService.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/ExecutorService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/ExecutorService.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/Executors.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/Executors.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/ForkJoinPool.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/ForkJoinPool.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/ForkJoinTask.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/ForkJoinTask.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/ForkJoinWorkerThread.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/ForkJoinWorkerThread.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/Future.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/Future.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/FutureTask.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/FutureTask.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/LinkedBlockingDeque.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/LinkedBlockingDeque.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/LinkedBlockingQueue.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/LinkedBlockingQueue.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/LinkedTransferQueue.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/LinkedTransferQueue.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/Phaser.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/Phaser.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/PriorityBlockingQueue.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/PriorityBlockingQueue.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/RecursiveAction.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/RecursiveAction.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/RecursiveTask.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/RecursiveTask.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/RejectedExecutionException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/RejectedExecutionException.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/RejectedExecutionHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/RejectedExecutionHandler.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/RunnableFuture.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/RunnableFuture.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/RunnableScheduledFuture.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/RunnableScheduledFuture.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/ScheduledExecutorService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/ScheduledExecutorService.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/ScheduledFuture.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/ScheduledFuture.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/ScheduledThreadPoolExecutor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/ScheduledThreadPoolExecutor.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/Semaphore.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/Semaphore.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/SynchronousQueue.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/SynchronousQueue.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/ThreadFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/ThreadFactory.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/ThreadLocalRandom.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/ThreadLocalRandom.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/ThreadPoolExecutor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/ThreadPoolExecutor.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/TimeUnit.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/TimeUnit.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/TimeoutException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/TimeoutException.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/TransferQueue.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/TransferQueue.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/atomic/AtomicBoolean.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/atomic/AtomicBoolean.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/atomic/AtomicInteger.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/atomic/AtomicInteger.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/atomic/AtomicIntegerArray.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/atomic/AtomicIntegerArray.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/atomic/AtomicLong.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/atomic/AtomicLong.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/atomic/AtomicLongArray.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/atomic/AtomicLongArray.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/atomic/AtomicLongFieldUpdater.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/atomic/AtomicLongFieldUpdater.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/atomic/AtomicMarkableReference.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/atomic/AtomicMarkableReference.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/atomic/AtomicReference.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/atomic/AtomicReference.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/atomic/AtomicReferenceArray.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/atomic/AtomicReferenceArray.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/atomic/AtomicStampedReference.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/atomic/AtomicStampedReference.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/atomic/package-info.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/atomic/package-info.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/locks/AbstractOwnableSynchronizer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/locks/AbstractOwnableSynchronizer.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/locks/AbstractQueuedLongSynchronizer.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/locks/AbstractQueuedSynchronizer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/locks/AbstractQueuedSynchronizer.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/locks/Condition.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/locks/Condition.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/locks/Lock.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/locks/Lock.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/locks/LockSupport.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/locks/LockSupport.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/locks/ReadWriteLock.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/locks/ReadWriteLock.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/locks/ReentrantLock.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/locks/ReentrantLock.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/locks/ReentrantReadWriteLock.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/locks/ReentrantReadWriteLock.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/locks/package-info.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/locks/package-info.java -------------------------------------------------------------------------------- /src/main/java/java/util/concurrent/package-info.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/main/java/java/util/concurrent/package-info.java -------------------------------------------------------------------------------- /src/test/java/vjava/util/concurrent/AbstractQueuedSynchronizer: -------------------------------------------------------------------------------- 1 | waitStatus状态的的含义?SIGNAL、CANCELLED、CONDITION或PROPAGATE -------------------------------------------------------------------------------- /src/test/java/vjava/util/concurrent/CLH lock queue & Spin lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/test/java/vjava/util/concurrent/CLH lock queue & Spin lock -------------------------------------------------------------------------------- /src/test/java/vjava/util/concurrent/DelayQueueDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/test/java/vjava/util/concurrent/DelayQueueDemo.java -------------------------------------------------------------------------------- /src/test/java/vjava/util/concurrent/How to read: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/test/java/vjava/util/concurrent/How to read -------------------------------------------------------------------------------- /src/test/java/vjava/util/concurrent/Lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/test/java/vjava/util/concurrent/Lock -------------------------------------------------------------------------------- /src/test/java/vjava/util/concurrent/SimpleAqsImplDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/test/java/vjava/util/concurrent/SimpleAqsImplDemo.java -------------------------------------------------------------------------------- /src/test/java/vjava/util/concurrent/Spurious wakeup: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/test/java/vjava/util/concurrent/Spurious wakeup -------------------------------------------------------------------------------- /src/test/java/vjava/util/concurrent/ThreadPoolExecutor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/test/java/vjava/util/concurrent/ThreadPoolExecutor -------------------------------------------------------------------------------- /src/test/java/vjava/util/concurrent/locks/BoundedBuffer1.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/test/java/vjava/util/concurrent/locks/BoundedBuffer1.java -------------------------------------------------------------------------------- /src/test/java/vjava/util/concurrent/locks/BoundedBuffer2.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/test/java/vjava/util/concurrent/locks/BoundedBuffer2.java -------------------------------------------------------------------------------- /src/test/java/vjava/util/concurrent/locks/ClhSpinLockDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/test/java/vjava/util/concurrent/locks/ClhSpinLockDemo.java -------------------------------------------------------------------------------- /src/test/java/vjava/util/concurrent/locks/CountDownLatchDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/test/java/vjava/util/concurrent/locks/CountDownLatchDemo.java -------------------------------------------------------------------------------- /src/test/java/vjava/util/concurrent/locks/CyclicBarrierDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/test/java/vjava/util/concurrent/locks/CyclicBarrierDemo.java -------------------------------------------------------------------------------- /src/test/java/vjava/util/concurrent/locks/FIFOMutexDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/test/java/vjava/util/concurrent/locks/FIFOMutexDemo.java -------------------------------------------------------------------------------- /src/test/java/vjava/util/concurrent/locks/LockSupportAndWaitNotify.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/test/java/vjava/util/concurrent/locks/LockSupportAndWaitNotify.java -------------------------------------------------------------------------------- /src/test/java/vjava/util/concurrent/locks/LockSupportTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/test/java/vjava/util/concurrent/locks/LockSupportTest.java -------------------------------------------------------------------------------- /src/test/java/vjava/util/concurrent/locks/LockSupportTest2.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/test/java/vjava/util/concurrent/locks/LockSupportTest2.java -------------------------------------------------------------------------------- /src/test/java/vjava/util/concurrent/locks/ReadWriteLock.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/test/java/vjava/util/concurrent/locks/ReadWriteLock.java -------------------------------------------------------------------------------- /src/test/java/vjava/util/concurrent/locks/ReentrantLockDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/test/java/vjava/util/concurrent/locks/ReentrantLockDemo.java -------------------------------------------------------------------------------- /src/test/java/vjava/util/concurrent/locks/ReentrantLockDemo2.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/test/java/vjava/util/concurrent/locks/ReentrantLockDemo2.java -------------------------------------------------------------------------------- /src/test/java/vjava/util/concurrent/locks/SynchronizedDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zhanjindong/ReadTheJDK/HEAD/src/test/java/vjava/util/concurrent/locks/SynchronizedDemo.java --------------------------------------------------------------------------------