Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java CPU单核:需要易失性还是同步?_Java_Multithreading_Concurrency_Volatile - Fatal编程技术网

Java CPU单核:需要易失性还是同步?

Java CPU单核:需要易失性还是同步?,java,multithreading,concurrency,volatile,Java,Multithreading,Concurrency,Volatile,在Java中,Volatile和synchronized使多线程可以一起工作,也可以相互理解。但是,如果您在单核系统上使用多线程,这意味着并不是真正的多线程工作,操作系统只是在不同线程之间进行更改。(因此,一个变量正好在某个时刻使用一个变量) 因此,我认为没有必要使用volatile或synchronized等安全线程技术。 这是真的吗 谢谢:)你错了。在单核系统上,同步仍然是一个问题,因为JRE可以在任何点(包括当线程处于关键部分时)切换线程。同步与内核数量无关。这取决于有多少线程竞争共享资源

在Java中,Volatile和synchronized使多线程可以一起工作,也可以相互理解。但是,如果您在单核系统上使用多线程,这意味着并不是真正的多线程工作,操作系统只是在不同线程之间进行更改。(因此,一个变量正好在某个时刻使用一个变量)

因此,我认为没有必要使用volatile或synchronized等安全线程技术。 这是真的吗


谢谢:)

你错了。在单核系统上,同步仍然是一个问题,因为JRE可以在任何点(包括当线程处于关键部分时)切换线程。

同步与内核数量无关。这取决于有多少线程竞争共享资源。当多个线程竞争时,您需要同步。

无论是单核还是多核系统,同步都很重要。为了防止死锁,您需要正确使用同步。除了防止死锁之外,在GUI应用程序中,同步也很重要,我们需要在后台计算密集型内容,并定期更新GUI。

当您在具有多个CPU的计算机上运行代码时,会发生什么情况?安全总比后悔好。