volatile是java提供的一个轻量级的同步机制,用来对被修饰的变量进行同步。使用volatile修饰的修饰的变量会对多个线程可见,也就是说任何线程都可以看到被volatile修饰的变量的最终值。volatile并不能替代synchronized,因为volatile只提供了可见性,并没有提供互斥性;在多线程并发修改某个变量值时,依然会出现并发问题。所以volatile最适合用的场景是一个线程修改被volatile修饰的变量,其他多个线程获取这个变量的值;当多个线程并发修改某个变量值时,必须使用synchronized来进行互斥同步。
volatile int status;
本文介绍了Java中volatile关键字的基本概念及其用途。volatile可以确保被修饰变量在多线程环境下的可见性,但并不提供互斥访问机制。适用于单一线程写多线程读的场景。

被折叠的 条评论
为什么被折叠?



