DPM*_*DPM 0 java concurrency visibility
我对java中的可见性有疑问.仅当我们至少有两个线程运行时,才能显示可见性,这些线程至少运行2个cpu核心.那对吗?每个核心都可以在其重排器和缓存内存中缓存变量,因此可以出现可见性问题.但是如果我们有n个线程并且它们都运行在一个cpu核心(我们不能确定它们只能在1个核心上运行,但是假设它可以实现那个),那么怎么办呢?有内存可见性吗?或者这不对?提前致谢.
即使在运行多个线程的1个核心上,您仍然可以拥有所谓的"可见性"问题,因为将内存中的值加载到寄存器中的线程会将此值保存到该线程的堆栈中,并且如果将该值保存到该线程的堆栈中,则不会看到更新线程被关闭然后再次重新打开,除非声明变量/内存volatile