You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows 10及后续版本中Thread Ordering Service的可用性与启用方法咨询

Thread Ordering Service在Windows 10及以上系统的可用性与启用指南

这个问题问得很关键!我之前做实时多线程开发时刚好研究过这块,给你详细说明:

可用性确认

Thread Ordering Service(简称TOS)在Windows 10及所有后续Windows版本(包括Windows 11)中完全可用。你提到的<avrt.h>中的实时线程相关函数(比如AvSetMmThreadCharacteristicsW、AvRevertMmThreadCharacteristics等)确实依赖该服务才能正常调用——如果TOS未启动,这些函数会返回错误码,导致你的实时线程逻辑无法正常工作。

启用方法

TOS默认是未启动状态,你可以通过以下两种方式启用它:

图形界面操作(适合快速配置)

  • 按下Win + R打开「运行」对话框,输入services.msc回车,打开Windows服务管理器。
  • 在服务列表中找到Thread Ordering Service(中文系统中显示为「线程排序服务」)。
  • 右键点击该服务,选择「属性」:
    • 在「启动类型」下拉菜单中选择「自动」(开机自启,适合长期使用)或「手动」(仅需要时启动,适合开发测试)。
    • 点击「启动」按钮,等待服务启动完成后,点击「确定」保存设置。

命令行操作(适合自动化或批量配置)

需要以管理员权限打开命令提示符(CMD)或PowerShell:

  1. 设置服务启动类型为自动:
    sc config TOS start= auto
    

    注意:start=后面必须加一个空格,这是sc命令的语法要求。

  2. 立即启动服务:
    sc start TOS
    
  3. 验证服务是否启动成功:
    sc query TOS
    
    查看输出中的STATE字段,显示RUNNING即为启动成功。

开发额外提示

  • 调用<avrt.h>中的函数时,确保你的程序以管理员权限运行,或者在应用程序清单(manifest)中声明requireAdministrator权限,否则可能会遇到权限不足的错误。
  • 建议在程序初始化时检查TOS服务的运行状态,比如通过OpenService和QueryServiceStatus函数查询,避免因服务未启动导致函数调用失败。
  • 实时线程优先级较高,使用时要注意避免占用过多系统资源,防止影响其他系统进程的正常运行。

内容的提问来源于stack exchange,提问作者JimFitz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 16:27:47