Ervin

真正的强者是认清了生活的本质,并且去热爱他的人。


  • 首页

  • 标签

  • 分类

  • 归档

  • 搜索

JavaGuide之volatile

发表于 2018-01-04 | 分类于 技术
字数统计: 1.9k | 阅读时长 ≈ 6

背景

Java中并发程序正确地执行,必须要保证原子性、可见性以及有序性,只要有一个没有被保证,就有可能会导致程序运行不正确。

  • 原子性:一个操作或者多个操作要么全部执行完成且执行过程中不被中断,要么就不执行。
  • 可见性:当多个线程同时访问同一个变量时,一个线程修改了这个变量的值,其它线程能够立即看到修改的值。
  • 有序性:程序执行的顺序按照代码的先后顺序执行。

volatile其实就是解决上面“可见性”的关键字,它可以看作是轻量级的Synchronized,它保证了共享变量的可见性。为什么会存在可见性这种问题呢?下面看下Java的内存模型。

阅读全文 »
1…89
Ervin Zhang

Ervin Zhang

stay hungry, stay foolish

81 日志
3 分类
50 标签
RSS
GitHub E-Mail Twitter
© 2026 Ervin Zhang | Site words total count: 101.2k
本站访客数:次 |
由 Hexo 强力驱动
|
主题 — NexT.Muse v5.1.4