随笔分类 - concurrent
源码分析
摘要:CountDownLatch、Semaphore(信号量)和ReentrantReadWriteLock.ReadLock(读锁)都采用AbstractOwnableSynchronizer共享排队的方式实现。 关于AbstractQueuedSynchronizer中的独占锁和共享锁,请参考Ree
阅读全文
摘要:1. 变量和构造方法 2. 生产(put、offer) 3. 消费(take、poll) 4. 加全锁(remove)
阅读全文
摘要:1. Semaphore Semaphore和ReentrantReadWriteLock.ReadLock(读锁)都采用AbstractOwnableSynchronizer共享排队的方式实现。 关于AbstractQueuedSynchronizer中的独占锁和共享锁,请参考ReentrantL
阅读全文
摘要:1. 常量和变量 2. 构造方法 3. 等待节点 4. 实现Future接口 1)cancel 2)isCancelled和isDone 3)get 5. 实现Runnable接口 6. Unsafe
阅读全文
摘要:1. 常量和变量 2. 父类AbstractExecutorService 不详细讲AbstractExecutorService,将会涉及到FutrueTask类,有空大家可以研究下。 3. execute 4. ThreadPoolExecutor.Worker 不详细讲AbstractSync
阅读全文
摘要:1)读不加锁,写加锁。 2)Copy-On-Write:写时拷贝。 3)保证最终一致性,不保证实时一致性。 4)尽量批量添加(删除):减少Copy、减少GC。 5)适用场景:读多写少。
阅读全文
摘要:1. 常量、成员变量 2. 获取元素 1' 若key所映射的bin为空,则返回空 2‘ 若当前bin首个节点为待查找节点,则返回首个节点值 3' 若当前bin首个节点哈希值 < 0,则当前bin为红黑树,或当前bin已迁移到新table中 1’‘ 若当前bin为空黑树(TreeBin),则在红黑树上
阅读全文
摘要:关于AbstractQueuedSynchronizer中的独占锁,请参考ReentrantLock(http://www.cnblogs.com/bjorney/p/8040085.html) 1. ReentrantReadWriteLock 2. ReentrantReadWriteLock.
阅读全文
摘要:1. ReentrantLock 2. ReentrantLock.Sync(FairSync/NonfairSync) 3. AbstractQueuedSynchronizer.Node 4. AbstractQueuedSynchronizer 5. AbstractQueuedSynchro
阅读全文
浙公网安备 33010602011771号