windows - 线程如何在 Windows 上的多个处理器上执行?

标签 windows multithreading execution

我使用的是 Windows(Windows 7、XP 和 Vista)。如果我创建一个多线程程序,线程是否会在所有可用内核上执行?是自动的吗?有保证吗?

例如,如果我有四个线程和四个处理器,是否会在每个处理器/核心上执行一个线程?

最佳答案

操作系统会根据线程状态、优先级等来决定

不能保证线程都将在不同的处理器上运行。事实上,在线程执行顺序方面几乎没有保证。它们可能都运行在同一个处理器上。它们可能全部并行运行,也可能根本不运行。并不是说这很可能,但您没有任何保证。

关于windows - 线程如何在 Windows 上的多个处理器上执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1109164/

相关文章:

.net - 我应该在哪里保存一个 xml 文件,以便它可以在 Windows 注销时由服务写入?

ios - Windows 命令行中的 iPhone 屏幕截图

c# - 涉及异步调用时如何跟踪工作单元?

c# - 使用计时器/任务/后台 worker 的数据采集循环

java - 为什么 Eclipse 无缘无故吃掉了几乎所有的 CPU

javascript - 防止 JavaScript 函数运行两次(setTimeout)

windows - IIS 多个站点在同一个 ip 上,具有不同的 ssl

c++ - OpenProcess/ReadProcessMemory/WriteProcessMemory/CloseHandle 等效项

javascript - JavaScript 什么时候执行?

javascript - Promise Chaining 如何在内存中工作?