我需要在具有2个线程的进程或在Windows上具有一个线程的2个进程之间进行选择。我在时间片中感兴趣。 Windows运行线程,因此上下文切换将在任何一种情况下。我想知道的是,如果在两种情况下运行每个线程的时间是相同的吗?感谢。
答案 0 :(得分:1)
Windows计划线程,所以是的,它们将是相同的。
答案 1 :(得分:1)
Windows调度程序不关心线程来自哪个进程,而是关注线程优先级。如果您有一个具有线程T1和T2的进程与一对进程P1(相当于T1)和P2(相当于T2),则与调度程序的观点没有区别,前提是P1和T1具有相同的优先级,和P2和T2一样。
但是,Windows为当前前台应用程序提供了优先级提升,因此前台进程中的线程将获得比后台进程更多或更长的时间片。
如果您的应用程序受此优先级提升,则将其划分为单独的进程意味着只有一个进程受益于提升。如果你在一个进程中使用多个线程,那么所有线程都会受益于boost。