在JUC这个线程同步工具包下,有几个比较游戏的类,Semaphore、CountdownLatch和CyclicB...[作者空间]
前面我们学习了AQS,ReentrantLock等,现在来学习一下什么是读写锁ReentrantReadWrite...[作者空间]
春节将至,又快到了一年一度抢红包的激动时刻。 为此呢,我专门针对想要学习java,或刚开始学习java的小白们,写...[作者空间]
虎年就快到了,最近有没有想要做ppt,写总结缺少素材的小伙伴?苦于没有背景素材啊,我来教你一招,爬取大量春节图片,...[作者空间]
前面我们学习了ReentrantLock,其底层就是用了AQS实现的,应该先讲这一章节,但是当时给忘了,现在给补上...[作者空间]
还记得上一篇文章当中提到的内存屏障(Memory Fence)吗?其实Volatile的实现原理就是通过内存屏障来...[作者空间]
一、CPU缓存结构 现代CPU通常都是由三层缓存架构组成的,如下图所示: windows下的cpu: 查看linu...[作者空间]
本章节主要了解下什么指令集并行,用于理解前面章节多线程场景下出现的指令重排序问题。 一、基础概念 Clock Cy...[作者空间]
一、java内存模型 JMM(Java Memory Model),它定义了主存、工作内存的概念,底层同时对应着C...[作者空间]
一、ReentrantLock简介 1.1 特点 ReentrantLock具有如下的特点: 可重入 可中断 可设...[作者空间]
一、简介 1.1 主要方法 Park/UnPark方法是LockSupport当中的方法。 其常用方法有如下: p...[作者空间]
一、为什么需要wait/notify? 我们都知道wati/notify用于线程间的同步。 假设有一把锁lock,...[作者空间]
一、JMH工具 在讲解之前,我们先熟悉一下JMH工具。 JMH 是 OpenJDK 团队开发的一款基准测试工具,一...[作者空间]
偏向锁的引入,对轻量级锁的CAS操作进行了优化。轻量级锁需要每次都是用CAS来尝试获取锁,占用CPU时间。 jdk...[作者空间]
前文讲解轻量级锁时,当线程使用CAS尝试对对象加锁,有两种失败情况,一种情况是自己执行了synchronized锁...[作者空间]
上一篇文章带大家简单了解了对象头,及mark word的内容,那么本文将来学习,mark word到底有什么作用。...[作者空间]
在我们学习synchronized的原理之前,必须要先学习下java的对象头,这有助于我们理解synchroniz...[作者空间]
一、什么是线程共享模型? 在前面的章节中,我们介绍了计算机的共享模型,和java的线程共享模型: 1)计算机共享模...[作者空间]
一、线程的状态 1.1 操作系统层面 在操作系统层面有五种状态: 【初始状态】仅是在语言层面创建了线程对象,还未与...[作者空间]
一、使用和创建 相信学过的同学,只需要记住如下三句就知道如何使用了: 继承Thread类实现Runnnable接口...[作者空间]