刚学线程,特来请问

刚学线程,特来请教。为什么线程使用全局变量通信时,必须声明为volatile类型?而用lock锁定的变量就没有声明

刚学线程,特来请教。
为什么线程使用全局变量通信时,必须声明为volatile类型?而用lock锁定的变量就没有声明为volatile类型?

[解决办法]
volatile类型能防止有意想不到的变化情况。