首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
多线程
订阅
Shane_L
更多收藏集
微信扫码分享
微信
新浪微博
QQ
11篇文章 · 0订阅
万字图文 | 聊一聊 ReentrantLock 和 AQS 那点事(看完不会你找我)
AbstractQueuedSynchronizer(AQS)是 Java 并发编程中绕不过去的一道坎,JUC 并发包下的 Lock、Semaphore、ReentrantLock 等都是基于 AQS 实现的。AQS 是一个抽象的同步框架,提供了原子性管理同步状态,基于阻塞队列…
JVM 内置锁 synchronized 关键字,偏向锁优化中的批量重偏向和批量撤销
「这是我参与2022首次更文挑战的第6天,活动详情查看:2022首次更文挑战」。 批量重偏向和批量撤销 从偏向锁的加锁和解锁的过程中可以看出,当只有一个线程反复进入同步代码块时,偏向锁带来的性能开销基
Java 中的多线程你只要看这一篇就够了
java 多线程
回眸进程和线程
在上一篇文章中,我们简单地回眸了一下操作系统,这一次我们细致一点来回眸一下进程和线程,通过这样的回眸,也许能膨胀出一些火花,对进程和线程有个比以往更清晰明了的认识。我们还是从问题的角度出发,帮助我们分析一下进程和线程。注意下诉讨论都在单核 CPU 的范围内,多核会有些出入。
Java面试必问,ThreadLocal终极篇
在面试环节中,考察"ThreadLocal"也是面试官的家常便饭,所以对它理解透彻,是非常有必要的. 当然了,也有面试官会慢慢引导到这个话题上,比如提问“在多线程环境下,如何防止自己的变量被其它线程篡改”,将主动权交给你自己,剩下的靠自己发挥。 那么ThreadLocal可以做…
sleep()和wait()方法与对象锁、锁池、等待池
锁池:假设线程A已经拥有了某个对象的锁,而其它的线程想要调用这个对象的某个synchronized方法(或者synchronized块),由于这些线程在进入对象的synchronized方法之前必须先获得该对象的锁的拥有权,但是该对象的锁目前正被线程A拥有,所以这些线程就进入了…
基础篇:详解锁原理,synchronized、volatile+cas底层实现
悲观锁,每次去请求数据的时候,都认为数据会被抢占更新(悲观的想法);所以每次操作数据时都要先加上锁,其他线程修改数据时就要等待获取锁。适用于写多读少的场景,synchronized就是一种悲观锁 在请求数据时,觉得无人抢占修改。等真正更新数据时,才判断此期间别人有没有修改过(预…
死磕Synchronized底层实现--概论
关于synchronized的底层实现,网上有很多文章了。但是很多文章要么作者根本没看代码,仅仅是根据网上其他文章总结、照搬而成,难免有些错误;要么很多点都是一笔带过,对于为什么这样实现没有一个说法,让像我这样的读者意犹未尽。 本系列文章将对HotSpot的synchroniz…
面试必备:Java线程池解析
掌握线程池是后端程序员的基本要求,相信大家求职面试过程中,几乎都会被问到有关于线程池的问题。我在网上搜集了几道经典的线程池面试题,并以此为切入点,谈谈我对线程池的理解。如果有哪里理解不正确,非常希望大家指出,接下来大家一起分析学习吧。 面试问题2:按线程池内部机制,当提交新任务…
反制面试官 | 14张原理图 | 再也不怕被问 volatile!
这一篇也算是Java并发编程的开篇,看了很多资料,但是轮到自己去整理去总结的时候,发现还是要多看几遍资料才能完全理解。还有一个很重要的点就是,画图是加深印象和检验自己是否理解的一个非常好的方法。 这是一份精心总结的Java内存模型思维导图,拿去不谢。 JMM是Java内存模型,…