聊这个之前 , 先简单介绍下几个概念:
- 【百度|synchronized 和 volatile 的区别是什么?】原子性:即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断 , 要么就都不执行
- 可见性:指当多个线程访问同一个变量时 , 一个线程修改了这个变量的值 , 其他线程能够立即看到修改的值
- 有序性:即程序执行的顺序按照代码的先后顺序执行
- volatile是线程同步的轻量级实现 , 性能比synchronized的要好
- volatile只能修饰变量 , synchronized可以修饰方法、代码块
- volatile被多线程访问不会被阻塞 , synchronized会
- volatile保证数据可见性、有序性 , synchronized保证原子性 , 可见性
- volatile保证多线程之间数据可见性 , synchronized保证多线程间资源同步问题 , 两个一般配合使用
- 微信|微信打电话和直接打电话有什么区别吗?专家告诉你,区别很大
- 华为watchgt3pro、watchgt系列和gt系列手表
- BAT和FAANG的时代翻篇儿了,谁来接棒?
- |手机号绑定太多APP?一键查询和解绑方法有了
- 华为手环|华为手环7和华为手环6有什么区别?选哪个更合适?全面对比告诉你
- iaas|传播仇恨、侵犯女性,Meta不讲伦理和规则
- 华为Nova|华为Nova10再次被确认:和荣耀70类似,但也有很多不同!
- 酷睿处理器|酷睿i5-12500H和锐龙7 6800H该选谁?异构优势让下克上成为可能
- 安全漏洞|美国又出手了,限制中国等48个国家和地区共享电脑的安全漏洞
- 小米科技|苹果最新发布的MacOS Venture和SmartisanOS的One Step有点相似?