<分区>
我指的是线程的使用。 在研究线程的重要性的过程中,我的脑海中出现了一个歧义:
线程在单核或多核计算机上效率更高吗?
<分区>
我指的是线程的使用。 在研究线程的重要性的过程中,我的脑海中出现了一个歧义:
线程在单核或多核计算机上效率更高吗?
最佳答案
它可以同时受益于两者,具体取决于您如何使用它们。
在单核上,如果你有两个后台任务,它们彼此独立地执行一些计算,那么将它们中的每一个分配给一个单独的线程可能是不明智的。这是因为你得到的是纯粹的上下文切换开销,没有任何性能提升。 另一方面,如果您有一个 UI 线程和一个后台工作线程,您的程序可以更具交互性(例如,用户可以做其他事情),因为 UI 线程不会被 CPU 密集型任务阻塞。
在多核系统上,一个区别是每个核心可以物理运行一个线程。所以你可以让多个线程并行运行。无论这些线程都是后台工作线程,还是一个 UI 线程、一个工作线程等,这一好处都是真实的。
关于java - 线程在多核环境中是否更高效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20779338/