关键字volatile是线程同步的轻量级实现,所以volatile性能肯定比synchronized要好,并且只能修改变量,而synchronized可以修饰方法,以及代码块。

     
 
     
        多线程访问volatile不会发生阻塞,而synchronized会出现阻塞
     
 
     
        volatile能保证数据的可见性,但不能保证原子性;而synchronized可以保证原子性,也可以间接保证可见性,因为它会将私有内存和公共内存中的数据做同步
     
 
     
        关键字volatile解决的下变量在多线程之间的可见性;而synchronized解决的是多线程之间资源同步问题

最新文章

  1. 使用ikmv将jar转换为dll,在.NET中直接调用
  2. gvim如何显示html属性代码提示? vim 如何显示 javascript属性及方法提示?
  3. oracle,mysql对敏感,关键字等处理
  4. Python好用的网站收集
  5. HBase集群搭建
  6. 用python3统计代码行数
  7. firefox 扩展开发笔记(三):高级ui交互编程
  8. 20141017--异常语句try-catch
  9. STM32学习内容和计划
  10. Myriad2 简介
  11. windows和linux双系统删除linux
  12. [NOI2007]货币兑换Cash(DP+动态凸包)
  13. linux执行sh报错:$’\r’: 未找到命令的解决
  14. LeetCode 226. Invert Binary Tree (反转二叉树)
  15. MySQL5.6启用sha256_password插件
  16. Spring Cloud的小改进(五)
  17. react双组件传值和传参
  18. shell :将标准输出及标准错误输出写到指定文件
  19. OEM、ODM、OBM、OPM概念,作用与区别
  20. WorldWind源码剖析系列:可渲染对象列表类RenderableObjectList

热门文章

  1. Istio 运维实战系列(2):让人头大的『无头服务』-上
  2. Spring boot +Thymeleaf 搭建springweb
  3. 【转】Postgres SQL sort 操作性能调优
  4. 从源码角度理解Java设计模式——装饰者模式
  5. Vue学习笔记使用系列一【表单】
  6. Webstorm破解版安装教程
  7. 04 Storage and Calculation C语言中的存储和计算
  8. 独立看第一个C++程序到最终结果log----2019-04-16
  9. 脚手架安装react
  10. Codeforces Global Round 11 A~D题解