死磕java并发
-
37、【死磕Java并发】—–第三十八篇分析 ArrayBlockingQueue 构造函数加锁问题
原文出处http://cmsblogs.com/ 『chenssy』 昨天有位小伙伴问我一个 ArrayBlockingQueue 中的一个构造函数为何需要加锁,其实这个问题我还真…
-
36、【死磕Java并发】—–第三十七篇J.U.C之线程池:ScheduledThreadPoolExecutor
原文出处:http://cmsblogs.com/ 『chenssy』 在上篇博客【死磕Java并发】—–J.U.C之线程池:ThreadPoolExecu…
-
35、【死磕Java并发】—–第三十六篇J.U.C之线程池:ThreadPoolExecutor
原文出处:http://cmsblogs.com/ 『chenssy』 作为Executor框架中最核心的类,ThreadPoolExecutor代表着鼎鼎大名的线程池,它给了我们…
-
34、【死磕Java并发】—–第三十五篇J.U.C之线程池:线程池的基础架构
原文出处http://cmsblogs.com/ 『chenssy』 经历了Java内存模型、JUC基础之AQS、CAS、Lock、并发工具类、并发容器、阻塞队列、atomic类后…
-
33、【死磕Java并发】—–第三十四篇深入分析ThreadLocal
原文出处:http://cmsblogs.com/ 『chenssy』 ThreadLoacal是什么? ThreadLocal是啥?以前面试别人时就喜欢问这个,有些伙伴喜欢把它和…
-
32、【死磕Java并发】—–第三十一篇J.U.C之阻塞队列:BlockingQueue总结
原文出处:http://cmsblogs.com/ 『chenssy』 经过前面六篇博客的阐述,我想各位应该对阻塞队列BlockingQueue有了较为深入的理解,下面来一个总结,…
-
31、【死磕Java并发】—–第三十篇J.U.C之阻塞队列:LinkedBlockingDeque
原文出处:http://cmsblogs.com/ 『chenssy』 前面的BlockingQueue都是单向的FIFO队列,而LinkedBlockingDeque则是一个由链…
-
30、【死磕Java并发】—–第二十九篇J.U.C之阻塞队列:LinkedTransferQueue
原文出处http://cmsblogs.com/ 『chenssy』 前面提到的各种BlockingQueue对读或者写都是锁上整个队列,在并发量大的时候,各种锁是比较耗资源和耗时…
-
29、【死磕Java并发】—–第二十八篇J.U.C之阻塞队列:SynchronousQueue
原文出处:http://cmsblogs.com/ 『chenssy』 【注】:SynchronousQueue实现算法看的晕乎乎的,写了好久才写完,如果当中有什么错误之处,忘各位…
-
28、【死磕Java并发】—–第二十七篇J.U.C之阻塞队列:DelayQueue
原文出处:http://cmsblogs.com/ 『chenssy』 DelayQueue是一个支持延时获取元素的无界阻塞队列。里面的元素全部都是“可延期”的元素,列头的元素是最…
-
27、【死磕Java并发】—–第二十六篇J.U.C之阻塞队列:PriorityBlockingQueue
原文出处:http://cmsblogs.com/ 『chenssy』 我们知道线程Thread可以调用setPriority(int newPriority)来设置优先级的,线程…
-
26、【死磕Java并发】—–第二十五篇J.U.C之阻塞队列:ArrayBlockingQueue
原文出处:http://cmsblogs.com/ 『chenssy』 ArrayBlockingQueue,一个由数组实现的有界阻塞队列。该队列采用FIFO的原则对元素进行排序添…
-
25、【死磕Java并发】—–第二十四篇J.U.C之Copy-On-Write容器
原文出自:http://cmsblogs.com 集合在我们开发中是使用得非常多的,包括在并发环境,我们知道Map接口在高并发时可以使用ConcurrentHashMap,但是Li…
-
24、【死磕Java并发】—–第二十三篇J.U.C之Java并发容器:ConcurrentSkipListMap
原文出处http://cmsblogs.com/ 『chenssy』 到目前为止,我们在Java世界里看到了两种实现key-value的数据结构:Hash、TreeMap,这两种数…
-
23、【死磕Java并发】—–第二十二篇J.U.C之Java并发容器:ConcurrentLinkedQueue
原文出处http://cmsblogs.com/ 『chenssy』 要实现一个线程安全的队列有两种方式:阻塞和非阻塞。阻塞队列无非就是锁的应用,而非阻塞则是CAS算法的应用。下面…
-
22、【死磕Java并发】—–第二十一篇J.U.C之ConcurrentHashMap红黑树转换分析
原文出处http://cmsblogs.com/ 『chenssy 在【死磕Java并发】—–J.U.C之Java并发容器:ConcurrentHashMa…
-
21、【死磕Java并发】—–第二十篇J.U.C之Java并发容器:ConcurrentHashMap
原文出自:http://cmsblogs.com 此篇博客所有源码均来自JDK 1.8 HashMap是我们用得非常频繁的一个集合,但是由于它是非线程安全的,在多线程环境下,put…
-
20、【死磕Java并发】—–第十九篇J.U.C之并发工具类:Exchanger
原文出处:http://cmsblogs.com/ 『chenssy』 此篇博客所有源码均来自JDK 1.8 前面三篇博客分别介绍了CyclicBarrier、CountDownL…
-
19、【死磕Java并发】—–第十八篇J.U.C之并发工具类:Semaphore
原文出处:http://cmsblogs.com/ 『chenssy』 此篇博客所有源码均来自JDK 1.8 信号量Semaphore是一个控制访问多个共享资源的计数器,和Coun…
-
18、【死磕Java并发】—–第十七篇J.U.C之并发工具类:CountDownLatch
原文出处:http://cmsblogs.com/ 『chenssy』 此篇博客所有源码均来自JDK 1.8 在上篇博客中介绍了Java四大并发工具一直的CyclicBarrier…