Java CPU单核:需要易失性还是同步?
在Java中,Volatile和synchronized使多线程可以一起工作,也可以相互理解。但是,如果您在单核系统上使用多线程,这意味着并不是真正的多线程工作,操作系统只是在不同线程之间进行更改。(因此,一个变量正好在某个时刻使用一个变量) 因此,我认为没有必要使用volatile或synchronized等安全线程技术。 这是真的吗Java CPU单核:需要易失性还是同步?,java,multithreading,concurrency,volatile,Java,Multithreading,Concurrency,Volatile,在Java中,Volatile和synchronized使多线程可以一起工作,也可以相互理解。但是,如果您在单核系统上使用多线程,这意味着并不是真正的多线程工作,操作系统只是在不同线程之间进行更改。(因此,一个变量正好在某个时刻使用一个变量) 因此,我认为没有必要使用volatile或synchronized等安全线程技术。 这是真的吗 谢谢:)你错了。在单核系统上,同步仍然是一个问题,因为JRE可以在任何点(包括当线程处于关键部分时)切换线程。同步与内核数量无关。这取决于有多少线程竞争共享资源
谢谢:)你错了。在单核系统上,同步仍然是一个问题,因为JRE可以在任何点(包括当线程处于关键部分时)切换线程。同步与内核数量无关。这取决于有多少线程竞争共享资源。当多个线程竞争时,您需要同步。无论是单核还是多核系统,同步都很重要。为了防止死锁,您需要正确使用同步。除了防止死锁之外,在GUI应用程序中,同步也很重要,我们需要在后台计算密集型内容,并定期更新GUI。当您在具有多个CPU的计算机上运行代码时,会发生什么情况?安全总比后悔好。