有人可以解释一下编写在具有单核的单个处理器上运行的多线程代码是否真的有任何优势?例如,一种处理文档页面的方法,使得这些页面与上述代码段互斥。
乍一看,这似乎没有优势,因为真正的多线程是不可能的。即,操作系统无论如何都必须上下文切换线程。我想知道是否仅以单线程方式编写代码实际上会更有效。
显然,在很多情况下编写多线程代码是有意义的,但我的问题是,当应用程序在单核处理器上运行时,这样做是否真的有好处。
编辑:请注意,我没有说“应用程序”而是“一段代码” - 看看我上面的例子。显然,拥有多线程应用程序有很多好处。