欢迎您的访问
专注架构,Java,数据结构算法,Python技术分享

Java并发

Java并发三十四:J.U.C之线程池-ThreadPoolExecutor

站长阅读(586)赞(0)

作为Executor框架中最核心的类,ThreadPoolExecutor代表着鼎鼎大名的线程池,它给了我们足够的理由来弄清楚它。 下面我们就通过源码来一步一步弄清楚它。 内部状态 线程有五种状态:新建,就绪,运行,阻塞,死亡,线程池同样有...

Java并发三十三:J.U.C之线程池-线程池的基础架构

站长阅读(672)赞(1)

经历了Java内存模型、JUC基础之AQS、CAS、Lock、并发工具类、并发容器、阻塞队列、atomic类后,我们开始JUC的最后一部分:线程池。在这个部分你将了解到下面几个部分: 线程池的基础架构 线程池的原理分析 线程池核心类的源码分...

Java并发三十二:深入分析ThreadLocal

站长阅读(687)赞(0)

ThreadLoacal是什么? ThreadLocal是啥?以前面试别人时就喜欢问这个,有些伙伴喜欢把它和线程同步机制混为一谈,事实上ThreadLocal与线程同步无关。ThreadLocal虽然提供了一种解决多线程环境下成员变量的问题...

Java并发三十一:J.U.C之阻塞队列-BlockingQueue总结

站长阅读(686)赞(0)

经过前面六篇博客的阐述,我想各位应该对阻塞队列BlockingQueue有了较为深入的理解,下面来一个总结,先看整个类图: BlockingQueue BlockingQueue接口实现Queue接口,它支持两个附加操作:获取元素时等待队列...

Java并发三十:J.U.C之阻塞队列-LinkedBlockingDeque

站长阅读(765)赞(1)

前面的BlockingQueue都是单向的FIFO队列,而LinkedBlockingDeque则是一个由链表组成的双向阻塞队列,双向队列就意味着可以从对头、对尾两端插入和移除元素,同样意味着LinkedBlockingDeque支持FIF...

Java并发二十九:J.U.C之阻塞队列-LinkedTransferQueue

站长阅读(657)赞(0)

前面提到的各种BlockingQueue对读或者写都是锁上整个队列,在并发量大的时候,各种锁是比较耗资源和耗时间的,而前面的SynchronousQueue虽然不会锁住整个队列,但它是一个没有容量的“队列”,那么有没有这样一种队列,它即可以...

Java并发二十八:J.U.C之阻塞队列-SynchronousQueue

站长阅读(664)赞(2)

【注】:SynchronousQueue实现算法看的晕乎乎的,写了好久才写完,如果当中有什么错误之处,忘各位指正 作为BlockingQueue中的一员,SynchronousQueue与其他BlockingQueue有着不同特性: Syn...

Java并发二十七:J.U.C之阻塞队列-DelayQueue

站长阅读(616)赞(2)

DelayQueue是一个支持延时获取元素的无界阻塞队列。里面的元素全部都是“可延期”的元素,列头的元素是最先“到期”的元素,如果队列里面没有元素到期,是不能从列头获取元素的,哪怕有元素也不行。也就是说只有在延迟期到时才能够从队列中取元素。...