Windows 中线程与进程的时间?

发布于 2024-09-17 08:53:04 字数 124 浏览 4 评论 0原文

我需要在 Windows 上选择一个具有 2 个线程的进程或一个具有 1 个线程的 2 个进程。我对时间片很感兴趣。 Windows 运行线程,因此无论哪种情况都会发生上下文切换。我想知道这两种情况下每个线程的运行时间是否相同?谢谢。

I need to chose between a process with 2 threads or a 2 processes with one thread on windows. I am intresting in the time slice. Windows running threads so context switch will be in either case. What I want to know if the time it runs each of the thread in the 2 cases will be the same? Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

调妓 2024-09-24 08:53:04

Windows 调度线程,所以是的,它们是相同的。

Windows schedules threads, so yes, they will be the same.

£冰雨忧蓝° 2024-09-24 08:53:04

Windows调度程序不关心线程来自哪个进程,只关心线程优先级是什么。如果您有一个带有线程 T1 和 T2 的进程,与一对进程 P1(相当于 T1)和 P2(相当于 T2),那么从调度程序的角度来看,只要 P1 和 T1 具有相同的优先级,就没有区别, P2 和 T2 也是如此。

然而,Windows 给予当前前台应用程序优先级提升,因此前台进程中的线程将比后台进程中的线程获得更多或更长的时间片。

如果您的应用程序受到此优先级提升的影响,那么将其划分为单独的进程意味着只有一个进程可以从提升中受益。如果您在一个进程中使用多个线程,那么所有线程都会受益于提升。

The Windows scheduler doesn't care which process a thread is from, just what the thread priorities are. If you have a single process with threads T1 and T2 vs a pair of processes P1 (equivalent to T1) and P2 (equivalent to T2) then there is no difference from the scheduler's point of view, provided P1 and T1 have the same priority, as do P2 and T2.

However, Windows gives a priority boost to the current foreground application, so threads in the foreground process will get more or longer time slices than those in background processes.

If your application is subject to this priority boost, then dividing it into separate processes means that only one process benefits from the boost. If you use multiple threads within a process then all threads benefit from the boost.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文