
在JUC这个线程同步工具包下,有几个比较游戏的类,Semaphore、CountdownLatch和CyclicBarrier,你都用过吗?下面...
前面我们学习了AQS,ReentrantLock等,现在来学习一下什么是读写锁ReentrantReadWriteLock。 当读操作远远高于写...
前面我们学习了ReentrantLock,其底层就是用了AQS实现的,应该先讲这一章节,但是当时给忘了,现在给补上吧。 关于ReentrantL...
还记得上一篇文章当中提到的内存屏障(Memory Fence)吗?其实Volatile的实现原理就是通过内存屏障来实现的。 对于volatile...
一、CPU缓存结构 现代CPU通常都是由三层缓存架构组成的,如下图所示: windows下的cpu: 查看linux的cpu缓存如下: 各缓存之...
本章节主要了解下什么指令集并行,用于理解前面章节多线程场景下出现的指令重排序问题。 一、基础概念 Clock Cycle Time (时钟周期时...
一、java内存模型 JMM(Java Memory Model),它定义了主存、工作内存的概念,底层同时对应着CPU的主存,缓存,寄存器,硬件...
一、ReentrantLock简介 1.1 特点 ReentrantLock具有如下的特点: 可重入 可中断 可设置超时时间 可设置为公平锁 支...
一、简介 1.1 主要方法 Park/UnPark方法是LockSupport当中的方法。 其常用方法有如下: park():暂停当前线程。 p...
文集作者