惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The GitHub Blog
The GitHub Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Microsoft Security Blog
Microsoft Security Blog
J
Java Code Geeks
S
SegmentFault 最新的问题
Apple Machine Learning Research
Apple Machine Learning Research
N
Netflix TechBlog - Medium
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园_首页
宝玉的分享
宝玉的分享
Google DeepMind News
Google DeepMind News
B
Blog RSS Feed
Hugging Face - Blog
Hugging Face - Blog
量子位
Blog — PlanetScale
Blog — PlanetScale
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
阮一峰的网络日志
阮一峰的网络日志
D
Docker
罗磊的独立博客
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
云风的 BLOG
云风的 BLOG
IT之家
IT之家
MyScale Blog
MyScale Blog
Microsoft Azure Blog
Microsoft Azure Blog

博客园 - papering

由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作 string byte 内存 硬盘 CAS ABA AtomicLong mysql 索引长度限制 docker network FTP Connection Modes (Active vs. Passive) 字符长度 mysql 【车载架构】AUTOSAR CP系列之27:系统内核之 WdgM 看门狗管理 单目录文件数限制 在联表 join 时 使用 case when 按不同的条件关联不同的行 JDK21 Process Reaper TLS 栈溢出循环故障深度分析 栈溢出 写入相邻的内存区域 GCC 的 -fstack-protector 会在每个函数的栈帧底部放一个随机“金丝雀值”,函数返回前检查它是否被改掉,以此检测栈缓冲区溢出。 潜伏5年!GitLab高危RCE漏洞爆发,低权限即可控服 Redis 漏洞分析——lua 脚本篇 Redis guarantees the script's atomic execution. AMQP 0-9-1 连接通过 信道 进行多路复用,信道可以被认为是“共享单一 TCP 连接的轻量级连接”。 WSAETIMEDOUT WSAEACCES This module supports asynchronous I/O on multiple file descriptors. QT 主线程 优化 卡顿 主线程上的同步重活 防重入:进行中直接 return,避免连点双开。 把「一次性任务」收到 ThreadPoolExecutor(max_workers=2~3),限制峰值线程数 统一 Activity 浮层 去掉连环成功弹窗 为 with语句上下文提供的工具 懒加载 IDE发现 import Canvas 指纹 魔改chromium源码——CDP(Chrome DevTools Protocol)检测01 whether the browser environment is controlled by a robot. chromium指纹魔改 对拷线 rpa 任务编排 a JSON formatted stream to ``fp`` “幽灵字符”问题 浏览器背后的黑科技 多进程 多线程 callback technique: signals and slots
设置其优先级值的线程的句柄
papering · 2026-07-22 · via 博客园 - papering

setThreadPriority 函数 (processthreadsapi.h) - Win32 apps | Microsoft Learn

每个线程都有由线程的优先级值及其进程的优先级类确定的基本优先级。 系统使用所有可执行线程的基本优先级级别来确定哪个线程获取下一段 CPU 时间。 线程在每个优先级级别以轮循机制方式进行计划,并且仅当较高级别没有可执行线程时,才会在较低级别调度线程。

SetThreadPriority 函数允许设置线程相对于其进程的优先级类的基本优先级。 例如,在调用 IDLE_PRIORITY_CLASS 进程的线程的 SetThreadPriority 中指定 THREAD_PRIORITY_HIGHEST 会将线程的基本优先级级别设置为 6。 有关显示优先级类和线程优先级值的每种组合的基本优先级的表,请参阅 计划优先级

对于 IDLE_PRIORITY_CLASS、 BELOW_NORMAL_PRIORITY_CLASS、 NORMAL_PRIORITY_CLASS、 ABOVE_NORMAL_PRIORITY_CLASS和 HIGH_PRIORITY_CLASS 进程,当发生对线程很重要的事件时,系统会动态提升线程的基本优先级。 REALTIME_PRIORITY_CLASS 进程不会收到动态提升。

所有线程最初从 THREAD_PRIORITY_NORMAL开始。 使用 GetPriorityClassSetPriorityClass 函数获取和设置进程的优先级类。 使用 GetThreadPriority 函数获取线程的优先级值。

使用流程的优先级类来区分时间关键型应用程序与具有正常或低于正常计划要求的应用程序。 使用线程优先级值来区分进程任务的相对优先级。 例如,处理窗口输入的线程的优先级可能高于对 CPU 执行密集计算的线程。

处理优先级时,请非常小心,确保高优先级线程不会占用所有可用的 CPU 时间。 基本优先级高于 11 的线程会干扰操作系统的正常运行。 使用 REALTIME_PRIORITY_CLASS 可能会导致磁盘缓存无法刷新、鼠标停止响应等。

THREAD_PRIORITY_* 值会影响线程的 CPU 计划优先级。 对于执行后台工作(如文件 I/O、网络 I/O 或数据处理)的线程,调整 CPU 计划优先级是不够的;即使空闲 CPU 优先级线程在使用磁盘和内存时也很容易干扰系统的响应能力。 执行后台工作的线程应使用 THREAD_MODE_BACKGROUND_BEGIN 和 THREAD_MODE_BACKGROUND_END 值来调整其资源计划优先级;与用户交互的线程不应使用 THREAD_MODE_BACKGROUND_BEGIN。

当线程处于后台处理模式时,它应尽量减少与进程中的其他线程共享资源(例如关键部分、堆和句柄),否则可能会发生优先级反转。 如果有线程以高优先级执行,则后台处理模式下的线程可能不会立即计划,但永远不会耗尽。

Windows Server 2008 和 Windows Vista: 当系统启动时, SetThreadPriority 函数返回成功返回值,但不会更改从系统启动文件夹启动或 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 注册表项中列出的应用程序的线程优先级。 这些应用程序在短时间内以降低优先级运行 (大约 60 秒) ,以使系统在启动期间对用户操作做出更快速的响应。

Windows 8.1和Windows Server 2012 R2:Windows 应用商店应用支持此函数。

Windows Phone 8.1:Windows Phone 应用商店应用可以调用此函数,但它不起作用。