Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions notes/JavaArchitecture/03-Java并发编程.md
Original file line number Diff line number Diff line change
Expand Up @@ -2937,7 +2937,7 @@ synchronized 不仅保证可见性,而且还保证原子性,因为,只有

  在代码中如果过度依赖 volatile 变量来控制状态的可见性,通常会比使用锁的代码更脆弱,也更难以理解。仅当 volatile 变量能简化代码的实现以及对同步策略的验证时,才应该使用它。一般来说,用同步机制会更安全些。

- volatile 无法同时保证内存可见性和原则性
- volatile 无法同时保证内存可见性和原子性

  加锁机制(即同步机制)既可以确保可见性又可以确保原子性,而 volatile 变量只能确保可见性,原因是声明为volatile的简单变量如果当前值与该变量以前的值相关,那么 volatile 关键字不起作用,也就是说如下的表达式都不是原子操作:“count++”、“count = count+1”。

Expand Down Expand Up @@ -3368,4 +3368,4 @@ https://blog.csdn.net/zbw18297786698/article/details/53420780

# 更新日志

- 2018/9/2 v3.0
- 2018/9/2 v3.0