我指的是Threads用法。 当我研究线程的重要性时,脑子里浮现出一种模糊:
线程在单核或多核计算机上的效率是否更高?
答案 0 :(得分:0)
它可以在两者上受益,具体取决于您如何使用它们。
在单核上,如果你有两个后台任务彼此独立地执行一些计算,那么将它们中的每一个分配给一个单独的线程可能是不明智的。这是因为您获得的是纯粹的上下文切换开销,而没有任何性能提升。 另一方面,如果你有一个UI线程和一个后台工作线程,你的程序可以更具交互性(例如,用户可以做其他事情),因为UI线程没有被CPU密集型任务阻止。
在多核系统上,一个区别是每个核心都可以物理运行一个线程。因此,您可以并行运行多个线程。无论这些线程是所有后台工作线程,还是一个UI线程,一个工作线程等等,这种好处都是正确的。