![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
文章平均质量分 57
SunWenzh
这个作者很懒,什么都没留下…
展开
-
Volatile
Volatilevolatile 作用禁止指令重排可见性JVM层面实现jvm实现volatile是使用指令屏障实现的汇编层面实现[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-opiQdYpm-1602603909947)(图片/Volatile/image-20201009233018270.png)]汇编使用lock指令实现+MESI缓存一致性协议实现的Lock指令相当于一条内存屏障,指令重排时,不能把后面的指令重排到内存屏障之前的位置.以前的CP原创 2020-10-13 23:46:23 · 123 阅读 · 0 评论 -
AQS及其实现类源码
AQS及其实现类源码阅读文章目录AQS及其实现类源码阅读AQSUnsafe.park()/Unsafe.unPark()CountDownLatchSemaphore信号量AQS参考https://mp.weixin.qq.com/s/trsjgUFRrz40Simq2VKxTAAQS是定义了一个抽象的队列同步器,java并发包中几乎所有的工具都依赖于AQS实现,它由一个整形状态state和一个先入先入的队列组成,线程进来时会判断state状态,并尝试用cas来修改state来决定是否能获取锁,还原创 2020-10-13 23:40:43 · 170 阅读 · 0 评论 -
ThreadLocal
ThreadLocal ThreadLocal 是 java提供的一种线程内部数据存储方案,通过ThreadLocal实例提供的get()/set(T)方法可以操作Thead类中的TheadLocalMap实例.从而在Thread内部存储线程私有的数据. Thread类内部定义了两个 ThreadLocal.ThreadLocalMap类变量,来保存线程数据publicclass Thread implements Runnable { ThreadLocal.ThreadLocalMa原创 2020-10-13 23:37:41 · 111 阅读 · 0 评论 -
java进程池
java线程池:ThreadPoolExecutor自定义线程池,按照不同策略创建ThreadPoolExecutor类对象它的构造方法如下 public ThreadPoolExecutor(int corePoolSize,//核心线程池大小,初始化时创建多少线程 int maximumPoolSize,//线程池最多有多少线程原创 2017-08-16 11:15:18 · 2437 阅读 · 1 评论