并发JavaJava 并发锁
- 分类
- Java 并发
- 难度
- 未设置
- 来源数
- 1
- 更新时间
- 2026/03/28 21:25
答案
1. synchronized可以用来修饰代码块和方法,而volatile只能修饰变量。 2. volatile只能保证多线程下共享资源的可见性,不能保证原子性,而synchronized两者都可以保证。 3. volatile关键字主要用于解决变量在多线程之间的可见性问题,而synchronized则用来解决多线程之间资源访问的同步性。
相关题目(5)
Java 并发并发JavaJava 并发锁
Java 并发并发JavaJava 并发
Java 并发并发JavaJava 并发
Java 并发并发JavaJava 并发
有哪些支持并发的集合?共源 1
Java 并发并发JavaJava 并发
元信息
审核状态: active
关联来源: 1
来源面经题(0)
这道题目前没有手动沉淀的面经题来源。
来源(1)
Java八股(并发).md
knowledge_noteQuestion 47: synchronized 和 volatile 有什么区别?
Source answer: 1. synchronized可以用来修饰代码块和方法,而volatile只能修饰变量。 2. volatile只能保证多线程下共享资源的可见性,不能保证原子性,而synchronized两者都可以保证。 3. volatile关键字主要用于解决变量在多线程之间的可见性问题,而synchronized则用来解决多线程之间资源访问的同步性。
Reviewed answer: synchronized 可修饰方法和代码块,既能保证原子性也能保证可见性;volatile 只能修饰变量,主要保证可见性和一定有序性,不能保证复合操作原子性。