
聊这个之前 , 先简单介绍下几个概念:
- 【百度|synchronized 和 volatile 的区别是什么?】原子性:即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断 , 要么就都不执行
- 可见性:指当多个线程访问同一个变量时 , 一个线程修改了这个变量的值 , 其他线程能够立即看到修改的值
- 有序性:即程序执行的顺序按照代码的先后顺序执行
- volatile是线程同步的轻量级实现 , 性能比synchronized的要好
- volatile只能修饰变量 , synchronized可以修饰方法、代码块
- volatile被多线程访问不会被阻塞 , synchronized会
- volatile保证数据可见性、有序性 , synchronized保证原子性 , 可见性
- volatile保证多线程之间数据可见性 , synchronized保证多线程间资源同步问题 , 两个一般配合使用
- 早报:华为P50 Pocket新色预售 百度世界大会定档
- 为验证人类和黑猩猩,是否会产生新的后代,科学家找来5位姑娘!
- 红米手机|真我GTNeo3和红米K50谁的综合实力更好,哪个更值得购买?
- ColorOS|绿厂又在憋大招?新系统和新产品接踵而至
- 和真的几乎一样,这个仿生蜻蜓,要实现《沙丘》里的扑翼机了
- 为了证明人类可以和猩猩“结合”,女科学家亲身实验,精神可佩
- 宇宙大爆炸与理解生命起源和进化有什么关联?
- 红米手机|红米两款新机曝光,Note12系列和K50 Ultra已安排,拍照大幅提升
- MacBook Pro|淘宝网企业和个人开店哪个费钱?差别大吗?
- 小米科技|小米两款“Ultra”新机齐遭曝光,分别搭载骁龙8+和天玑9000+芯片
