首页
沸点
课程
AI Coding
数据标注
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
java并发编程
贝克田庄
创建于2021-08-09
订阅专栏
java多线程、线程安全、如何编写线程安全的代码
等 1 人订阅
共5篇文章
创建于2021-08-09
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
java并发编程系列-无锁工具类:并发包下的原子类
我们在前面的示例 2-6 中的累加器,为了保证线程安全,我们给 add 方法和 get 方法分别加了锁,虽然保证了线程安全,但是在竞争激烈的情况下,频繁的加锁解锁是一件十分耗费性能的事情。其实为了解决
java并发编程系列-Synchronized 和显示锁 Lock 的实现原理
1.Synchronized 字节码分析 前面我们已经知道了 Synchronized 在使用的时候有两种方式,一种修饰方法,一种是同步块的方式。 可以看出示例已经显示了这两种方式,我们可以通过这段代
java并发编程系列-死锁的解决
接下来我会以一个经典的转帐问题,跟大家一起聊聊死锁,以及如何解决这个问题。 我们转化为代码描述:有一个账户类 Account,账户类有一个转账方法 transfer() 方法,该方法接收两个参数,转入
java并发编程系列-解决有序性、可见性、原子性问题
我们其实已经分析过了造成可见性和有序性的原因,就是 CPU 缓存和编译器优化问题。我们似乎能够想到的解决方案就是禁止编译器优化和直接操作内存上的变量不经过缓存,但是如果直接这样简单粗暴,可能会带来性能
java并发编程系列-可见性、原子性、有序性问题
可见性、原子性、有序性问题 1.可见性 可见性指的是当一个线程修改了共享变量后,其他线程能够立即得知这个修改。在单核的时候,线程都是在同一 CPU 上执行,一个线程对 CPU 缓存的操作对其它线程都是