![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java并发
文章平均质量分 51
java并发学习,总结经验
swust_lian
无武
展开
-
Volatile理解
Volatile理解Volatile 通过加入内存屏障和禁止重排序优化来实现1、对volatile变量写操作时,会在写操作后加入一条store屏障命令,将本地内存中的共享变量值刷新到主内存2、对volatile变量读操作时,会在读操作前加入一条load屏障命令,从主内存中读取共享变量示意图:应用场景1、错误场景:使用volatile 修饰一个计数变量如 privatvolatile static int count = 0; 企图通过volatile来实现count+..原创 2021-05-09 22:27:29 · 143 阅读 · 0 评论 -
Synchronized 理解
Synchronized 理解JMM关于Synchronized的两条规定:1、线程解锁前,必须把共享变量的最新值刷新到主内存;2、线程加锁时,将清空工作内存重共享变量的值,从而使用共享变量时需要从主内存重重新读取最新的值。注意:加锁与解锁是同一把锁。如何理解?要么是锁的同一个对象,要么是锁的同一个类,接着往下看锁对象锁对象有以下两种种情况:Synchronized修饰普通方法,Synchronized作用于方法块test1 和 test2 锁的对象是this,他们是互斥.原创 2021-05-09 21:39:57 · 134 阅读 · 0 评论 -
Java Atomic总结
Java Atomic总结一、atomic使用concurrent包下的atomic提供我们这么一种轻量级的数据同步的选择。package com.example.concurrent.example.atomiccount;import com.example.concurrent.annoations.NotThreadSafe;import com.example.concurrent.annoations.ThreadSafe;import lombok.extern.s...原创 2021-05-09 16:04:34 · 214 阅读 · 1 评论