9阅网

您现在的位置是:首页 > 知识 > 正文

知识

multithreading - 同一进程中的两个线程能否同时在两个处理器上运行?为什么为什么不能?

admin2022-11-01知识21

我不明白,这不是多线程的理念吗?这不就是多线程的全部理念吗?

编辑: 问题修改自"为什么同一进程内的两个线程不能同时在两个处理器上运行?".



【回答】:

在你所链接的文章中,它把这一点列为了 用户级线程 (由应用程序本身实现,而不由操作系统级线程支持)。

这是正确的,但它不适用于 "真正的 "线程。操作系统可以自由地将它们调度到多个处理器上。

现在大多数操作系统都对多线程有强大的支持,我相信那些用户级线程已经成为过去。

所以,是的,多线程的全部意义在于能够在你想分配给它的多少个CPU上并行运行代码。而 "用户级线程 "是对没有适当的原生线程支持的平台的一种变通方法,而且它是以你描述的方式来限制的(一个应用进程不能有多个CPU)。