SetThreadName 不适用于 Visual Studio 2005

2024-04-20

设置线程名称 http://msdn.microsoft.com/en-us/library/xcb2z8hs%28v=VS.71%29.aspx当使用 Visual Studio 2005 时,不会设置线程名称,如下所示:

DWORD threadId;
HANDLE handle = CreateThread(NULL, stackSize, ThreadFunction,
                             ThreadParam, CREATE_SUSPENDED, &threadId);
if (handle)
{

   SetThreadName(threadId, "NiceName");
   ResumeThread(handle);
}

打开“线程”窗口后,我可以看到 ThreadFunction 的名称,而不是 NiceName。其他工具(如 Intel Parallel Inspector)按预期使用 NiceName。

  • 上面的代码有问题吗?

  • 该代码是否适用于 Visual Studio 2008 或 2010 版本?


经过几次实验后,我发现这是因为 Visual Studio 试图变得智能,当线程开始执行时,它会为自己命名。解决方法是不要在线程实际启动之前尝试为线程指定名称,实现此目的的最简单方法是从线程函数内部调用 SetThreadName。

我仍然有兴趣知道其他版本的 Visual Studio 是否显示相同的行为。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SetThreadName 不适用于 Visual Studio 2005 的相关文章

  • LINQ TO ENTITY 无法与枚举类型进行比较

    下面是枚举叶子 public enum Leaves Annual 0 Medical 1 Hospitalization 2 Unpaid 3 下面是linq查询 public ActionResult ApproveLeave int
  • 在opencv中保存帧而不压缩

    我正在尝试使用写 OpenCV 函数 我想保存帧 TIFF扩大 我遇到的问题是保存的图像被压缩 所以我无法使用它们 知道如何摆脱这种压缩吗 提前致谢 不要介意西奇说的话 TIFF 标志通过 LZW 压缩硬编码在 opencv 二进制文件中
  • 获取 WSA 错误代码的格式化消息

    我在 win32 C 应用程序中使用winsock2 我将使用 MessageBox 显示可以通过调用 WSAGetLastError 检索的网络错误 我怎样才能做到这一点 我看到 FormatMessage 但我不明白如何使用它 例如 以
  • C# Socket.receive连续接收0字节且循环中不阻塞

    我正在尝试用 C 编写一个最简单的多线程 TCP 服务器 它接收来自多个客户端的数据 每次连接新客户端时 都会建立套接字连接 并将套接字作为参数传递给新类函数 之后运行 while 循环并接收数据 直到客户端连接为止 这里的问题是 sock
  • Microsoft Graph API 授权错误:无效受众

    我知道这是一个很长的问题 但如果有人能与我分享他们的想法或经验 我真的很感激 因为我已经解决这个问题几天了 现在正在尝试很多事情 我有一个 ASP Net Core 3 1 Web API 应用程序和一个 ASP NET Core 3 1
  • 如何解决“HTTP 错误 404.3 - 未找到”错误?

    简单的问题 我启动 VS2008 并创建一个新的 WCF 服务应用程序 这将创建一个默认应用程序 并使用一些测试方法来显示它的工作原理 我按 CTRL F5 确实有效 伟大的 但是 它使用 Visual Studio 开发服务器 我不想支持
  • Windows Server / Datacenter:设置 CPU 关联性 > 64 个核心

    SetThreadAffinityMask 允许为 64 个逻辑核心 处理器 设置关联掩码 但是 Windows Datacenter 最多可以有 64 个 CPU 每个 CPU 都有多个内核 请参阅here http social tec
  • C# 按下按钮时跳出循环

    我有一个简单的 C foreach 循环 如何在按下按钮时跳出循环 它不在backgroundWorker线程中 所以我不能使用backgroundWorker Cancellation Pending 在表单中创建一个布尔标志 将事件处理
  • 以 ASCII 字符串形式获取 MemoryStream 内容的快速方法

    我在 MemoryStream 中有一个 JSON 字符串 我使用以下代码将其作为 ASCII 字符串获取 MemoryStream memstream new MemoryStream Write a JSON string to mem
  • Android:RunOnUiThread 与 AsyncTask

    我相信 Google 建议开发人员使用 AsyncTask 但是 我想知道它与使用 new Thread 然后调用 RunOnUiThread 在性能和内存效率方面有何不同 使用 RunOnUithread 的示例 some code 1
  • 提高 ASP.NET/C# 编译速度的最佳方法是什么?

    更新 请将您的答案集中在硬件解决方案上 您使用什么硬件 工具 插件来提高 ASP NET 编译和首次执行速度 我们正在寻找固态硬盘来加快速度 但现在价格确实很高 我现在有两个 RAID 0 的 7200 rpm 硬盘 但我对性能不再满意 所
  • 这个对象的内存会是什么样子?

    我想知道这个类 它的对象 的内存布局是什么样的 class MyClass string myString int myInt public MyClass string str int i myString str myInt i MyC
  • 如何对具有无效值的属性使用 JSON.net 的默认值

    我正在使用 Newtonsoft JSON 库来反序列化来自 Web 服务的响应 问题是某些字段包含无效值 例如 一条记录上的一个字段包含一个 T 表示该字段应该是数字 我想做的是将无效字段的值设置为 null 或其他默认值 我的所有属性都
  • 如何获取 TFS 2013 中所有用户的列表

    我正在使用 Team Foundation Server TFS 2013 和 Visual studio 2012 我需要 TFS 中所有用户的列表 有没有办法使用C 获取TFS中的所有用户 从TFS 2010获取用户列表 您可以尝试使用
  • cuda中有模板化的数学函数吗? [复制]

    这个问题在这里已经有答案了 我一直在寻找 cuda 中的模板化数学函数 但似乎找不到 在普通的 C 中 如果我调用std sqrt它是模板化的 并且将根据参数是浮点数还是双精度数执行不同的版本 我想要这样的 CUDA 设备代码 我的内核将真
  • 产量回报延迟迭代问题

    我知道yield return 利用了延迟加载 但我想知道我是否可能滥用迭代器或者很可能需要重构 我的递归迭代器方法返回给定的所有祖先PageNode包括pageNode itself public class PageNodeIterat
  • 如何使用 GCC 在 C 上编译库?

    我用这些文件创建了一个库pila h and pila c 我编译文件pila c with gcc pila c c这个库运行良好 我已经测试过了 然后我又做了一个图书馆 这个库有文件pila funciones extra h and
  • 虚拟键盘(类似 Swype 键盘)Windows 窗体应用程序 C#

    我正在尝试使用 c 在 Windows 窗体中创建一个类似 swype 的键盘 我有两个问题 A 我无法重现手指滑动动作 b 我无法识别不同按键下的字母 对于第一个问题 我使用了 Graphics 类和 Pen 类 并像这样使用它 bool
  • 我该怎么做才能完全关闭与mcu的tcpClient连接?

    我现在正在研究与 ESP32 中运行的 tcp 服务器的 tcp 套接字连接 通信工作正常 但我无法关闭连接 在搜索关闭 重置 tcpClient 上的解决方案后 似乎关闭 tcpClient 的正确方法应该是 tcpClient GetS
  • 如何为单个函数设置 ICC 属性“fp-model precision”,以防止关联优化?

    我正在实施卡汉求和 http en wikipedia org wiki Kahan summation algorithm 在支持 gcc47 gcc48 clang33 icc13 和 icc14 编译的项目中 作为该算法的一部分 我想

随机推荐

  • 创建新分支时,基础分支是什么?

    创建分支时我需要确认 纠正我的假设 如果我在主分支中 执行以下操作后 git checkout b some branch 这意味着我已经从 master 开始了一个新分支 另一方面 如果我签出另一个分支 并在那里创建一个分支 git ch
  • 将网络表单值返回至 Google 应用脚本

    我有一个谷歌表格脚本 允许用户输入某些数据 当用户单击 确定 时 我希望能够将这些值传递回谷歌应用程序脚本中的函数 这是我试图开始工作的 Google 表格脚本 函数 checkLogin 确实会被调用 直到我尝试从网页将值传递给它 剧本
  • 如何监控`preStop`命令的执行?

    我正在尝试使用 pod 的生命周期事件 问题是来自的命令preStop根本不运行 有什么办法可以监控它是否已启动吗 容器的日志为空 lifecycle preStop exec command bin sh c clean sh 我只想添加
  • 矩阵到 JTable

    我需要用静态二维数组填充 JTable 我创建了这个模型JTable public class InsertMatToJTable extends AbstractTableModel String titre age real sex r
  • 如何随机选择三个字符串之一?

    我必须创建一个密码 我相信我可以做到 但是我一开始就被难住了 我有3个字符串 我想随机选择这三个字符串之一 有人知道该怎么做吗 Dim sLowerCase As String qwertyuiopasdfghjklzxcvbnm Dim
  • 将文件拖放到 SharePoint Web 部件中以上传到 DocLibrary

    是否可以创建一个 SharePoint wss3 或 MOSS 2007 Web 部件 以允许将文件拖放到其上 然后将文件上传到预定义的文档库中 我想这需要某种形式的客户端脚本 Ajax 但我对 ajax 的了解有点粗略 从迄今为止的探索来
  • 已使用的 Objective-C 前缀列表

    我正在为我正在编写的库选择一个命名空间 并且希望避免与其他命名空间发生冲突 有谁知道有一个网站列出了所有正在使用的类前缀 https cocoadev github io ChooseYourOwnPrefix https cocoadev
  • FFMPEG 没有按预期“切割”

    我通过一个简单的 system process 使用 FFMPEG 来自 java 应用程序 并尝试将视频切成块 我正在尝试将其切成 10 秒的增量 我的 FFMPEG 命令如下所示 ffmpeg i SampleVideo mp4 ss
  • 在 Android BLE 中处理指示而不是通知

    使用蓝牙 SIG 应用加速器代码 它很好地演示了蓝牙低功耗的不同概念 然而 它没有提到与通知相反的指示 我知道与通知不同 需要确认指示 并且在代码中我会这样做byte val enabled BluetoothGattDescriptor
  • XMLHttpRequest:网络错误 0x80070005,在 Microsoft Edge(但不是 IE)上访问被拒绝

    我有一个非常简单的 ajax 请求 见下文 服务器正在使用 CORS 并且在 IE 10 Chrome Firefox 和 Opera 中运行良好 On 微软边缘但是 它失败了 XMLHttpRequest 网络错误 0x80070005
  • Linux 中 POSIX 可靠信号和 POSIX 实时信号有什么区别?

    我读了一个手册页signal using 男人7信号 http man7 org linux man pages man7 signal 7 html我看到两种类型的信号 所以 我有一个问题 有什么区别POSIX 可靠信号 and POSI
  • 单个 DLL V 多个 DLL

    前段时间我在这里问了一个问题 当时我想知道是否最好将一个大项目 NET 类库 拆分为多个 NET DLL 建议使用一个大的 DLL 该 DLL 现在已在另一个项目中使用 另一个项目只使用了几个类 因此项目中有很多类未使用 从体系结构的角度来
  • 你能在条件表达式中添加条件表达式吗? (是:边界检查如何扩展到多个维度?)

    Note 我通过实现一个完全不同的问题来解决最初的问题 有关新的实际问题 请参阅附录 但您可以阅读前一部分以了解上下文 这是我的一个的扩展以前的帖子 https stackoverflow com q 10171525 1010226 我根
  • Webpack 用于后端?

    我只是想知道 我开始在一个新项目中使用 Webpack 到目前为止它运行良好 我几乎可以说我比我之前用过的 Grunt 更喜欢它 但现在我很困惑如何和 或应该将它与我的 Express 后端一起使用 看 我正在创建一个具有前端 ReactJ
  • 如何实现“ui-sref”有条件执行?

    我想在浏览器遵循 ui router 动态创建的链接之前验证某些条件 我正在调查 rootscope on stateChangeStart 但我无法访问controller scope从那里 我还需要在应用程序的几个地方使用它 这会很麻烦
  • 无法使 ExposeDropdownMenu 与 OutlinedTextField 宽度相同

    我遇到以下问题 下拉菜单项的宽度与 OutlinedTextField 的宽度不同 寻找解决方案 发现以下内容 添加要保留的变量textField width var textFieldSize by remember mutableSta
  • NoClassDefFound ShortTypeHandling 与 gradle 自定义插件使用

    我写了一些常规代码 使用编译compile localGroovy 并将 jar 发布到artificialy 现在我写了一个gradle插件 其中有compile localGroovy and compile gav of jar ab
  • 为什么我不能将 Clojure 的 :^const 与 Java 字节数组一起使用?

    Using lein repl使用 Clojure 1 4 0 我可以定义一个 constJava 字节数组的 但我不能用它做任何事情 user gt def x byte array map byte 0 1 2 3 user x use
  • React.js 错误“相邻 JSX 元素必须包含在封闭标记中”

    我有下面的代码是react js 它抛出一个错误 相邻的 JSX 元素必须包含在封闭标签中 看起来 React 不接受彼此相邻的相同标签 如何显示表格数据 var TestRecords React createClass render f
  • SetThreadName 不适用于 Visual Studio 2005

    设置线程名称 http msdn microsoft com en us library xcb2z8hs 28v VS 71 29 aspx当使用 Visual Studio 2005 时 不会设置线程名称 如下所示 DWORD thre