他是控制特定线程可以在哪些 CPU 核心(或逻辑处理器)上运行的
可减少 缓存失效(Cache Miss):线程固定在少数核心上,可提高 CPU 缓存命中率。可减少 上下文切换(Context Switching):避免线程在多个核心间迁移,降低开销。可对延迟敏感的任务(如音视频处理、高频交易),通过绑定核心避免被操作系统调度到其他繁忙核心,确保稳定执行。可将关键线程(如游戏渲染线程)与后台任务隔离,避免竞争 CPU 资源。可在虚拟化或服务器环境中,为不同任务分配专用核心。可固定线程位置可简化多线程调试或性能分析工具(如 Profiler)的数据跟踪。
只要你不能确保你能严格把控,千万别搞这个,让系统自行分配!!!
为线程设置关联掩码可能会导致线程接收更少的处理器时间,因为系统被限制在某些处理器上运行线程。 在大多数情况下,最好让系统选择可用的处理器。 如果新的线程关联掩码未指定当前正在运行该线程的处理器,则会在允许的处理器之一上重新计划该线程。 从 Windows 11 和 Windows Server 2022 开始,在处理器数超过 64 的系统上,默认情况下,进程和线程相关性跨所有[color=var(--theme-hyperlink)]处理器组跨系统中的所有处理器。 dwThreadAffinityMask 必须在线程的当前主组中指定处理器。
|