![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发
文章平均质量分 87
Mrs Song
无聊的时候自己写点东西
展开
-
Java8 如何优化CAS性能
Java8 如何优化CAS性能 问题显性 假设多个线程需要对⼀个变量不停的累加 1,⽐如说下⾯这段代码: 因为多个线程直接这样并发的对⼀个 data 变量进⾏修改,是线程不安全性的⾏为,会导致 data 值的变化不遵照预期的值来改变。 ⽐如说 20 个线程分别对 data 执⾏⼀次 data++ 操作,我们以为最后 data 的值会变成 20,其实不是。最后可能 data 的值是 18,或者是 19,都有可能,因为多线程并发操作下,就是会有这种安全问题,导致数据结果不准确。 解决方案1:synchroni原创 2021-08-05 09:38:52 · 200 阅读 · 0 评论 -
Java volatile自我理解
Java volatile详解 volatile是什么 用volatile修饰的变量,线程在每次使用变量的时候,都会读取变量修改后的最的值。volatile很容易被误用,用来进行原子性操作。 在Java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。 Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块(synchronized) 和 volatile 关键字机制。 volatile需处理问题 举个例原创 2021-08-04 15:24:15 · 64 阅读 · 0 评论