0
从Java并发的运作volatile变量VS实例变量
线程共享其所属进程的内存地址空间,所有 一个进程中的线程可以访问相同的变量& 分配对象来自同一堆。
另外
声明变量为线程不应该缓存 这种可变或者换句话说不应该相信这些 变量的值,除非它们被直接从主存储器读出的挥发性装置。
我的问题是
说有“A”是由一个线程修改非易失性实例变量。 'a'的修改值不会在堆上更新。如果它在堆上更新,则读取该实例变量的另一个线程将自动读取更新的值,因为线程共享堆中的实例变量。那么volatile变量的功能如何不同呢?
那么,在读写缓存甚至是实例变量的时候线程呢? – underdog 2014-10-09 13:37:13
@underdog - 他们**可以** - 他们实际上并不需要,而且他们通常不会,但临界点是您不能采取任何方式。 – OldCurmudgeon 2014-10-09 13:38:29
@OldCurmudgeon你能解释一下“他们实际上不需要”吗? – Prakash 2014-10-09 13:48:13