找传奇、传世资源到传世资源站!

Java JUC 之线程通信实例

8.5玩家评分(1人评分)
下载后可评
介绍 评论 失效链接反馈

【例子介绍】Java JUC 之线程通信实例

java并发包的例子,帮助更好学习java的juc包

【相关图片】from clipboard

【源码结构】

.
├── JUC
│   ├── Disruptor.md
│   ├── JMH.md
│   ├── README.md
│   ├── pom.xml
│   ├── src
│   │   └── main
│   │       ├── java
│   │       │   ├── com
│   │       │   │   └── mashibing
│   │       │   │       ├── JustTest.java
│   │       │   │       ├── Tets.java
│   │       │   │       ├── disruptor
│   │       │   │       │   ├── v1
│   │       │   │       │   │   ├── LongEvent.java
│   │       │   │       │   │   ├── LongEventFactory.java
│   │       │   │       │   │   ├── LongEventHandler.java
│   │       │   │       │   │   ├── LongEventProducer.java
│   │       │   │       │   │   └── Main.java
│   │       │   │       │   ├── v2
│   │       │   │       │   │   ├── LongEvent.java
│   │       │   │       │   │   ├── LongEventFactory.java
│   │       │   │       │   │   ├── LongEventHandler.java
│   │       │   │       │   │   ├── LongEventProducer.java
│   │       │   │       │   │   ├── Main.java
│   │       │   │       │   │   └── readme
│   │       │   │       │   ├── v3
│   │       │   │       │   │   ├── LongEvent.java
│   │       │   │       │   │   ├── Main.java
│   │       │   │       │   │   └── readme
│   │       │   │       │   └── v4
│   │       │   │       │       ├── LongEvent.java
│   │       │   │       │       ├── Main.java
│   │       │   │       │       └── readme
│   │       │   │       └── juc
│   │       │   │           ├── c_000
│   │       │   │           │   ├── T01_WhatIsThread.java
│   │       │   │           │   ├── T02_HowToCreateThread.java
│   │       │   │           │   ├── T03_Sleep_Yield_Join.java
│   │       │   │           │   └── T04_ThreadState.java
│   │       │   │           ├── c_001
│   │       │   │           │   └── T.java
│   │       │   │           ├── c_002
│   │       │   │           │   └── T.java
│   │       │   │           ├── c_003
│   │       │   │           │   ├── T.java
│   │       │   │           │   └── T1.java
│   │       │   │           ├── c_004
│   │       │   │           │   └── T.java
│   │       │   │           ├── c_005
│   │       │   │           │   └── T.java
│   │       │   │           ├── c_006
│   │       │   │           │   └── T.java
│   │       │   │           ├── c_007
│   │       │   │           │   └── T.java
│   │       │   │           ├── c_008
│   │       │   │           │   └── Account.java
│   │       │   │           ├── c_009
│   │       │   │           │   └── T.java
│   │       │   │           ├── c_010
│   │       │   │           │   └── T.java
│   │       │   │           ├── c_011
│   │       │   │           │   └── T.java
│   │       │   │           ├── c_011_01
│   │       │   │           │   └── readme
│   │       │   │           ├── c_012_Volatile
│   │       │   │           │   ├── T01_HelloVolatile.java
│   │       │   │           │   ├── T02_VolatileReference1.java
│   │       │   │           │   ├── T03________VolatileReference2.java
│   │       │   │           │   ├── T04_VolatileNotSync.java
│   │       │   │           │   └── T05_VolatileVsSync.java
│   │       │   │           ├── c_016_LockOptimization
│   │       │   │           │   └── FineCoarseLock.java
│   │       │   │           ├── c_017_MoreAboutSync
│   │       │   │           │   ├── DoNotLockString.java
│   │       │   │           │   └── SyncSameObject.java
│   │       │   │           ├── c_018_00_AtomicXXX
│   │       │   │           │   ├── T01_AtomicInteger.java
│   │       │   │           │   ├── T02_AtomicVsSyncVsLongAdder.java
│   │       │   │           │   └── T03________SyncVsLongAdder.java
│   │       │   │           ├── c_018_01_Unsafe
│   │       │   │           │   └── HelloUnsafe.java
│   │       │   │           ├── c_020
│   │       │   │           │   ├── T01_ReentrantLock1.java
│   │       │   │           │   ├── T02_ReentrantLock2.java
│   │       │   │           │   ├── T03_ReentrantLock3.java
│   │       │   │           │   ├── T04_ReentrantLock4.java
│   │       │   │           │   ├── T05_ReentrantLock5.java
│   │       │   │           │   ├── T06_TestCountDownLatch.java
│   │       │   │           │   ├── T07_TestCyclicBarrier.java
│   │       │   │           │   ├── T08_TestPhaser.java
│   │       │   │           │   ├── T09_TestPhaser2.java
│   │       │   │           │   ├── T10_TestReadWriteLock.java
│   │       │   │           │   ├── T11_TestSemaphore.java
│   │       │   │           │   ├── T12_TestExchanger.java
│   │       │   │           │   └── T13_TestLockSupport.java
│   │       │   │           ├── c_020_01_Interview
│   │       │   │           │   ├── T01_WithoutVolatile.java
│   │       │   │           │   ├── T02_WithVolatile.java
│   │       │   │           │   ├── T03_NotifyHoldingLock.java
│   │       │   │           │   ├── T04_NotifyFreeLock.java
│   │       │   │           │   ├── T05_CountDownLatch.java
│   │       │   │           │   ├── T06_LockSupport.java
│   │       │   │           │   ├── T07_LockSupport_WithoutSleep.java
│   │       │   │           │   └── T08_Semaphore.java
│   │       │   │           ├── c_021_01_interview
│   │       │   │           │   ├── MyContainer1.java
│   │       │   │           │   └── MyContainer2.java
│   │       │   │           ├── c_021_02_AQS
│   │       │   │           │   ├── MLock.java
│   │       │   │           │   ├── Main.java
│   │       │   │           │   ├── Sync.java
│   │       │   │           │   └── TestReentrantLock.java
│   │       │   │           ├── c_021_03_VarHandle
│   │       │   │           │   └── T01_HelloVarHandle.java
│   │       │   │           ├── c_022_RefTypeAndThreadLocal
│   │       │   │           │   ├── M.java
│   │       │   │           │   ├── T01_NormalReference.java
│   │       │   │           │   ├── T02_SoftReference.java
│   │       │   │           │   ├── T03_WeakReference.java
│   │       │   │           │   ├── T04_PhantomReference.java
│   │       │   │           │   ├── ThreadLocal1.java
│   │       │   │           │   └── ThreadLocal2.java
│   │       │   │           ├── c_023
│   │       │   │           │   └── Singleton.java
│   │       │   │           ├── c_023_01_Containers
│   │       │   │           │   ├── HelloQueue.java
│   │       │   │           │   ├── T01_HelloArray.java
│   │       │   │           │   └── T02_CollectionListSetQueue.java
│   │       │   │           ├── c_023_02_FromHashtableToCHM
│   │       │   │           │   ├── Constants.java
│   │       │   │           │   ├── T01_TestHashtable.java
│   │       │   │           │   ├── T02_TestHashMap.java
│   │       │   │           │   ├── T03_TestSynchronizedHashMap.java
│   │       │   │           │   └── T04_TestConcurrentHashMap.java
│   │       │   │           ├── c_024_FromVectorToQueue
│   │       │   │           │   ├── TicketSeller1.java
│   │       │   │           │   ├── TicketSeller2.java
│   │       │   │           │   ├── TicketSeller3.java
│   │       │   │           │   ├── TicketSeller4.java
│   │       │   │           │   └── readme.txt
│   │       │   │           ├── c_025
│   │       │   │           │   ├── T01_ConcurrentMap.java
│   │       │   │           │   ├── T02_CopyOnWriteList.java
│   │       │   │           │   ├── T03_SynchronizedList.java
│   │       │   │           │   ├── T04_ConcurrentQueue.java
│   │       │   │           │   ├── T05_LinkedBlockingQueue.java
│   │       │   │           │   ├── T06_ArrayBlockingQueue.java
│   │       │   │           │   ├── T07_01_PriorityQueque.java
│   │       │   │           │   ├── T07_DelayQueue.java
│   │       │   │           │   ├── T08_SynchronusQueue.java
│   │       │   │           │   ├── T09_TransferQueue.java
│   │       │   │           │   └── readme.txt
│   │       │   │           ├── c_026_00_interview
│   │       │   │           │   └── A1B2C3
│   │       │   │           │       ├── T01_00_Question.java
│   │       │   │           │       ├── T02_00_LockSupport.java
│   │       │   │           │       ├── T03_00_cas.java
│   │       │   │           │       ├── T04_00_BlockingQueue.java
│   │       │   │           │       ├── T05_00_AtomicInteger.java
│   │       │   │           │       ├── T06_00_sync_wait_notify.java
│   │       │   │           │       ├── T07_00_sync_wait_notify.java
│   │       │   │           │       ├── T08_00_lock_condition.java
│   │       │   │           │       ├── T09_00_lock_condition.java
│   │       │   │           │       ├── T10_00_PipedStream.java
│   │       │   │           │       ├── T12_00_Exchanger_Not_Work.java
│   │       │   │           │       ├── T13_TransferQueue.java
│   │       │   │           │       └── readme
│   │       │   │           ├── c_026_01_ThreadPool
│   │       │   │           │   ├── T01_MyExecutor.java
│   │       │   │           │   ├── T02_ExecutorService.java
│   │       │   │           │   ├── T03_Callable.java
│   │       │   │           │   ├── T04_Executors.java
│   │       │   │           │   ├── T05_00_HelloThreadPool.java
│   │       │   │           │   ├── T05_ThreadPool.java
│   │       │   │           │   ├── T06_00_Future.java
│   │       │   │           │   ├── T06_01_CompletableFuture.java
│   │       │   │           │   ├── T07_SingleThreadPool.java
│   │       │   │           │   ├── T08_CachedPool.java
│   │       │   │           │   ├── T09_FixedThreadPool.java
│   │       │   │           │   ├── T10_ScheduledPool.java
│   │       │   │           │   ├── T11_WorkStealingPool.java
│   │       │   │           │   ├── T12_ForkJoinPool.java
│   │       │   │           │   ├── T13_ParallelStreamAPI.java
│   │       │   │           │   ├── T14_MyRejectedHandler.java
│   │       │   │           │   ├── ThreadPoolExecutor源码解析.md
│   │       │   │           │   └── readme.txt
│   │       │   │           ├── c_027_future_to_loom
│   │       │   │           │   ├── T01_Future.java
│   │       │   │           │   └── T02_ListenableFuture.java
│   │       │   │           ├── c_028_FalseSharing
│   │       │   │           │   ├── T01_CacheLinePadding.java
│   │       │   │           │   └── T02_CacheLinePadding.java
│   │       │   │           └── c_029_WriteCombining
│   │       │   │               └── WriteCombining.java
│   │       │   └── 思考题.txt
│   │       └── resources
│   │           └── Test.puml
│   └── target
│       ├── classes
│       │   ├── Test.puml
│       │   └── com
│       │       └── mashibing
│       │           ├── JustTest.class
│       │           ├── Tets.class
│       │           ├── disruptor
│       │           │   ├── v1
│       │           │   │   ├── LongEvent.class
│       │           │   │   ├── LongEventFactory.class
│       │           │   │   ├── LongEventHandler.class
│       │           │   │   ├── LongEventProducer.class
│       │           │   │   └── Main.class
│       │           │   ├── v2
│       │           │   │   ├── LongEvent.class
│       │           │   │   ├── LongEventFactory.class
│       │           │   │   ├── LongEventHandler.class
│       │           │   │   ├── LongEventProducer$1.class
│       │           │   │   ├── LongEventProducer.class
│       │           │   │   └── Main.class
│       │           │   ├── v3
│       │           │   │   ├── LongEvent.class
│       │           │   │   └── Main.class
│       │           │   └── v4
│       │           │       ├── LongEvent.class
│       │           │       └── Main.class
│       │           └── juc
│       │               ├── c_000
│       │               │   ├── T01_WhatIsThread$1.class
│       │               │   ├── T01_WhatIsThread$T1.class
│       │               │   ├── T01_WhatIsThread.class
│       │               │   ├── T02_HowToCreateThread$MyRun.class
│       │               │   ├── T02_HowToCreateThread$MyThread.class
│       │               │   ├── T02_HowToCreateThread.class
│       │               │   ├── T03_Sleep_Yield_Join.class
│       │               │   ├── T04_ThreadState$MyThread.class
│       │               │   └── T04_ThreadState.class
│       │               ├── c_001
│       │               │   └── T.class
│       │               ├── c_002
│       │               │   └── T.class
│       │               ├── c_003
│       │               │   ├── T.class
│       │               │   └── T1.class
│       │               ├── c_004
│       │               │   └── T.class
│       │               ├── c_005
│       │               │   └── T.class
│       │               ├── c_006
│       │               │   └── T.class
│       │               ├── c_007
│       │               │   └── T.class
│       │               ├── c_008
│       │               │   └── Account.class
│       │               ├── c_009
│       │               │   └── T.class
│       │               ├── c_010
│       │               │   ├── T.class
│       │               │   └── TT.class
│       │               ├── c_011
│       │               │   ├── T$1.class
│       │               │   └── T.class
│       │               ├── c_012_Volatile
│       │               │   ├── T01_HelloVolatile.class
│       │               │   ├── T02_VolatileReference1.class
│       │               │   ├── T03________VolatileReference2$Data.class
│       │               │   ├── T03________VolatileReference2.class
│       │               │   ├── T04_VolatileNotSync.class
│       │               │   └── T05_VolatileVsSync.class
│       │               ├── c_016_LockOptimization
│       │               │   └── FineCoarseLock.class
│       │               ├── c_017_MoreAboutSync
│       │               │   ├── DoNotLockString.class
│       │               │   └── SyncSameObject.class
│       │               ├── c_018_00_AtomicXXX
│       │               │   ├── T01_AtomicInteger.class
│       │               │   ├── T02_AtomicVsSyncVsLongAdder$1.class
│       │               │   ├── T02_AtomicVsSyncVsLongAdder.class
│       │               │   ├── T03________SyncVsLongAdder$1.class
│       │               │   └── T03________SyncVsLongAdder.class
│       │               ├── c_018_01_Unsafe
│       │               │   └── HelloUnsafe.class
│       │               ├── c_020
│       │               │   ├── T01_ReentrantLock1.class
│       │               │   ├── T02_ReentrantLock2.class
│       │               │   ├── T03_ReentrantLock3.class
│       │               │   ├── T04_ReentrantLock4.class
│       │               │   ├── T05_ReentrantLock5.class
│       │               │   ├── T06_TestCountDownLatch.class
│       │               │   ├── T07_TestCyclicBarrier.class
│       │               │   ├── T08_TestPhaser$MarriagePhaser.class
│       │               │   ├── T08_TestPhaser$Person.class
│       │               │   ├── T08_TestPhaser.class
│       │               │   ├── T09_TestPhaser2$MarriagePhaser.class
│       │               │   ├── T09_TestPhaser2$Person.class
│       │               │   ├── T09_TestPhaser2.class
│       │               │   ├── T10_TestReadWriteLock.class
│       │               │   ├── T11_TestSemaphore.class
│       │               │   ├── T12_TestExchanger.class
│       │               │   └── T13_TestLockSupport.class
│       │               ├── c_020_01_Interview
│       │               │   ├── T01_WithoutVolatile.class
│       │               │   ├── T02_WithVolatile.class
│       │               │   ├── T03_NotifyHoldingLock.class
│       │               │   ├── T04_NotifyFreeLock.class
│       │               │   ├── T05_CountDownLatch.class
│       │               │   ├── T06_LockSupport.class
│       │               │   ├── T07_LockSupport_WithoutSleep.class
│       │               │   └── T08_Semaphore.class
│       │               ├── c_021_01_interview
│       │               │   ├── MyContainer1.class
│       │               │   └── MyContainer2.class
│       │               ├── c_021_02_AQS
│       │               │   ├── MLock.class
│       │               │   ├── Main.class
│       │               │   ├── Sync.class
│       │               │   └── TestReentrantLock.class
│       │               ├── c_021_03_VarHandle
│       │               │   └── T01_HelloVarHandle.class
│       │               ├── c_022_RefTypeAndThreadLocal
│       │               │   ├── M.class
│       │               │   ├── Person.class
│       │               │   ├── T01_NormalReference.class
│       │               │   ├── T02_SoftReference.class
│       │               │   ├── T03_WeakReference.class
│       │               │   ├── T04_PhantomReference.class
│       │               │   ├── ThreadLocal1.class
│       │               │   ├── ThreadLocal2$Person.class
│       │               │   └── ThreadLocal2.class
│       │               ├── c_023
│       │               │   ├── Singleton$1.class
│       │               │   ├── Singleton$Inner.class
│       │               │   └── Singleton.class
│       │               ├── c_023_01_Containers
│       │               │   ├── HelloQueue.class
│       │               │   ├── T01_HelloArray.class
│       │               │   └── T02_CollectionListSetQueue.class
│       │               ├── c_023_02_FromHashtableToCHM
│       │               │   ├── Constants.class
│       │               │   ├── T01_TestHashtable$MyThread.class
│       │               │   ├── T01_TestHashtable.class
│       │               │   ├── T02_TestHashMap$MyThread.class
│       │               │   ├── T02_TestHashMap.class
│       │               │   ├── T03_TestSynchronizedHashMap$MyThread.class
│       │               │   ├── T03_TestSynchronizedHashMap.class
│       │               │   ├── T04_TestConcurrentHashMap$MyThread.class
│       │               │   └── T04_TestConcurrentHashMap.class
│       │               ├── c_024_FromVectorToQueue
│       │               │   ├── TicketSeller1.class
│       │               │   ├── TicketSeller2.class
│       │               │   ├── TicketSeller3.class
│       │               │   └── TicketSeller4.class
│       │               ├── c_025
│       │               │   ├── T01_ConcurrentMap.class
│       │               │   ├── T02_CopyOnWriteList$1.class
│       │               │   ├── T02_CopyOnWriteList.class
│       │               │   ├── T03_SynchronizedList.class
│       │               │   ├── T04_ConcurrentQueue.class
│       │               │   ├── T05_LinkedBlockingQueue.class
│       │               │   ├── T06_ArrayBlockingQueue.class
│       │               │   ├── T07_01_PriorityQueque.class
│       │               │   ├── T07_DelayQueue$MyTask.class
│       │               │   ├── T07_DelayQueue.class
│       │               │   ├── T08_SynchronusQueue.class
│       │               │   └── T09_TransferQueue.class
│       │               ├── c_026_00_interview
│       │               │   └── A1B2C3
│       │               │       ├── T01_00_Question.class
│       │               │       ├── T02_00_LockSupport.class
│       │               │       ├── T03_00_cas$ReadyToRun.class
│       │               │       ├── T03_00_cas.class
│       │               │       ├── T04_00_BlockingQueue.class
│       │               │       ├── T05_00_AtomicInteger.class
│       │               │       ├── T06_00_sync_wait_notify.class
│       │               │       ├── T07_00_sync_wait_notify.class
│       │               │       ├── T08_00_lock_condition.class
│       │               │       ├── T09_00_lock_condition.class
│       │               │       ├── T10_00_PipedStream.class
│       │               │       ├── T12_00_Exchanger_Not_Work.class
│       │               │       └── T13_TransferQueue.class
│       │               ├── c_026_01_ThreadPool
│       │               │   ├── T01_MyExecutor.class
│       │               │   ├── T02_ExecutorService.class
│       │               │   ├── T03_Callable$1.class
│       │               │   ├── T03_Callable.class
│       │               │   ├── T04_Executors.class
│       │               │   ├── T05_00_HelloThreadPool$Task.class
│       │               │   ├── T05_00_HelloThreadPool.class
│       │               │   ├── T05_ThreadPool.class
│       │               │   ├── T06_00_Future.class
│       │               │   ├── T06_01_CompletableFuture.class
│       │               │   ├── T07_SingleThreadPool.class
│       │               │   ├── T08_CachedPool.class
│       │               │   ├── T09_FixedThreadPool$MyTask.class
│       │               │   ├── T09_FixedThreadPool.class
│       │               │   ├── T10_ScheduledPool.class
│       │               │   ├── T11_WorkStealingPool$R.class
│       │               │   ├── T11_WorkStealingPool.class
│       │               │   ├── T12_ForkJoinPool$AddTask.class
│       │               │   ├── T12_ForkJoinPool$AddTaskRet.class
│       │               │   ├── T12_ForkJoinPool.class
│       │               │   ├── T13_ParallelStreamAPI.class
│       │               │   ├── T14_MyRejectedHandler$MyHandler.class
│       │               │   └── T14_MyRejectedHandler.class
│       │               ├── c_027_future_to_loom
│       │               │   ├── T01_Future.class
│       │               │   ├── T02_ListenableFuture$1.class
│       │               │   ├── T02_ListenableFuture$2.class
│       │               │   └── T02_ListenableFuture.class
│       │               ├── c_028_FalseSharing
│       │               │   ├── T01_CacheLinePadding$1.class
│       │               │   ├── T01_CacheLinePadding$T.class
│       │               │   ├── T01_CacheLinePadding.class
│       │               │   ├── T02_CacheLinePadding$1.class
│       │               │   ├── T02_CacheLinePadding$Padding.class
│       │               │   ├── T02_CacheLinePadding$T.class
│       │               │   └── T02_CacheLinePadding.class
│       │               └── c_029_WriteCombining
│       │                   └── WriteCombining.class
│       └── generated-sources
│           └── annotations
└── java的juc实例.zip

94 directories, 327 files

评论

发表评论必须先登陆, 您可以 登陆 或者 注册新账号 !


在线咨询: 问题反馈
客服QQ:174666394

有问题请留言,看到后及时答复