AtomicXXX 都是
CAS(无锁优化 自旋 乐观锁)
Compare And Set
Compare And Swap
cas(V,Expected,NewValue)
-if V == E
V = New
otherwise try again or fail
-CPU原语支持
先获取一下
ABA问题: 符合Expected
-加version
-A 1.0
-B 2.服务器托管网0
-A 3.0
-cas(version)
版本号 检查版本号
如果基础类型 -无所谓 -引用类型 你的女朋友跟你复合,中间经历了别的女人
== Unsafe ==c c++的指针 单例模式
直接操作java虚拟机的内存
c ->malloc free c++ -> new delete
public class T01_AtomicInteger {
/*volatile*///int count = 0;
//原子操作
AtomicInteger count = new AtomicInteger();
/*synchronized*/void m() {
for(int i =0; i threads = new ArrayList();
for(int i=0;i o.start());
threads.forEach((o) ->{
try {
o.join();
}catch (InterruptedException e) {
e.printStackTrace();
}
});
System.out.println(t.count);
}
}
服务器托服务器托管网管,北京服务器托管,服务器租用 http://www.fwqtg.net
相关推荐: macOS上使用VScode编译配置C++语言开发环境
本文介绍macOS上使用VScode编译配置C++语言开发环境 1.准备工作 安装C/C++插件 2.配置c_cpp_properties.json文件 [⇧⌘P]打开命令模式,选择[C/Cpp: Edit Configurations(JSON)]命令,回车…