首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
线程安全
订阅
oo
更多收藏集
微信扫码分享
微信
新浪微博
QQ
7篇文章 · 0订阅
Java多线程——多线程相关知识的逻辑关系梳理
多线程知识的根本目标是:设计稳健的并发程序。 当然,本文无法回答这个实践性很强的问题(这与具体的业务相关,涉及到具体的策略),本文主要阐述相关知识之间的关系,希望初学者不要迷失在多线程工具类的API接口中。 线程安全性问题、性能问题、活跃性问题。 三者的关系是,在设计并发程序过…
ThreadLocal和ThreadLocalMap源码分析
相信很多程序猿在平常实现功能的过程当中,都会遇到想要某些静态变量,不管是单线程亦或者是多线程在使用,都不会产生相互之间的影响,也就是这个静态变量在线程之间是读写隔离的。 有一个我们经常使用的工具类,它的并发问题就是用ThreadLocal来解决的,我相信大多数人都看过,…
violate能保证可见性但无法提供操作的原子性
简单了解一下Java内存模型。 不同线程之间无法直接访问其他线程工作内存中的变量,线程间变量值的传递需要通过主内存来完成。 原子性:即不可再分了,不能分为多步操作。比如赋值或者return。比如"a = 1;"和 "return a;"这样的操作都具有原子性。类似"a += b…
Java 并发编程(二):如何保证共享变量的原子性?
线程安全性是我们在进行 Java 并发编程的时候必须要先考虑清楚的一个问题。这个类在单线程环境下是没有问题的,那么我们就能确保它在多线程并发的情况下表现出正确的行为吗? 我这个人,在没有副业之前,一心扑在工作上面,所以处理的蛮得心应手,心态也一直保持的不错;但有了副业之后,心态…
反骨之Java是如何解决并发中的可见性问题的
前段时间笔者写过一篇关于, 关于《反骨之Java是如何解决并发中的原子性问题》的博文。 其中,提出一个观点:Java中使用互斥锁和CAS解决了并发中的原子性问题。 Java中如何利用Java内存模型规范中的Volatile、synchronized、final关键字解决可见性问…
啃透Java并发-LockSupport源码详解
不知道你有没有这样的感觉,在使用JUC中提供的工具类处理并发时,有一种死记硬背的感觉,比如LockSupport应该怎么用,CountDownLatch能干嘛,但并不清楚其实现原理,只知道how不知道why,这种状态有二个比较大的问题。 我们知道JUC看似有很多类,结构错综复杂…
啃透Java并发-AQS详解
为什么要在开篇就介绍AQS的工作原理呢?因为先对一些知识点有个大概了解,可以帮我们在看源码时更容易理解一些,做到有的放矢,事半功倍。 这里我总结了三个比较关键的点,需要我们知道的。 AQS内部有一个volatile变量state,并且提供了compareAndSetState方…