首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
多线程
订阅
凡尘多遗梦
更多收藏集
微信扫码分享
微信
新浪微博
QQ
8篇文章 · 0订阅
探索ThreadLocal
。 每个ThreadLocal只能存储一个数据,如果需要存储多个值的话,可以定义多个ThreadLocal。ThreadLocal在内部维护了一个ThreadLocalMap用来存储这些值。 ThreadLocalMap并没有去实现Map接口,它定义了一个Entry数组,每个E…
Java并发原理抽丝剥茧,读写锁ReadWriteLock实现深入剖析
前面的章节中我们分析了Java语法层面的synchronized锁和JDK内置可重入锁ReentrantLock,我们在多线程并发场景中可以通过它们来控制对资源的访问从而达到线程安全。这两种锁都属于纯粹的独占锁,也就是说这些锁任意时刻只能由一个线程持有,其它线程都得排队依次获取…
2万字Java并发编程面试题合集(含答案,建议收藏)
15、什么是 FutureTask?使用 ExecutorService 启动任务。 java 中的线程分为两种:守护线程(Daemon)和用户线程(User)。 任何线程都可以设置为守护线程和用户线程,通过方法 Thread.setDaemon(boolon);true 则把…
Java小白也能听懂的线程池的内部原理:老王的洗浴中心
老王是一个已经北漂十多年的程序员,岁数大了,加班加不动了,升迁也无望,于是拿着手里的一些积蓄,回老家转行创业。他选择了洗浴行业,开一家洗浴中心,是的,一家正规的洗浴中心。之前在北京的时候,喜欢去的澡堂叫“清华池”,他想了想,就给自己的洗浴中心取名为“线程池”。 线程池开业以后,…
volatile、synchronized、final原理浅析
1. 前言 只会使用,不明白原理,就不能灵活运用,深刻理解这几个关键字,对于并发编程来说很有帮助。 2. volatile 可见性是指当一个线程修改了共享变量的值,其它线程能够适时得知这个修改。 线程对变量进行修改未同步到主内存,那么这个线程对改变量的修改就是不可见的。 重排序…
一文看懂Java锁机制
CPU的基本工作是执行存储的指令序列,即程序。程序的执行过程实际上是不断地取出指令、分析指令、执行指令的过程。 几乎所有的冯•诺伊曼型计算机的CPU,其工作都可以分为5个阶段:取指令、指令译码、执行指令、访存取数和结果写回。 现代处理器的体系结构中,采用了流水线的处理方式对指令…
超强图文|并发编程【等待/通知机制】就是这个feel~
人工无限申请浪费口舌, 程序无限申请浪费CPU。聪明的人就想到了 等待/通知 机制 现实中有太多场景都在应用等待/通知机制。欢迎观临红浪漫,比如去XX办证,去医院就医/体检。 在【程序解释】一列,我将关键字(排队、锁、等待、释放....)已经用 【】 框了起来。Java 语言中…
ThreadLocal源码深度剖析
ThreadLocal的作用是提供线程内的局部变量,说白了,就是在各线程内部创建一个变量的副本,相比于使用各种锁机制访问变量,ThreadLocal的思想就是用空间换时间,使各线程都能访问属于自己这一份的变量副本,变量值不互相干扰,减少同一个线程内的多个函数或者组件之间一些公共…