C++ 关于 线程名称
来源:互联网 发布:linux中启动tomcat 编辑:程序博客网 时间:2024/06/08 01:17
1、如何设置线程名称
为了给你的程序设置线程名称,可以使用以下函数:SetThreadName 。需要注意:线程名称被拷贝到线程的内存中,所以threadName参数可以被释放。
C++
// // Usage: SetThreadName ((DWORD)-1, "MainThread"); // #include <windows.h> const DWORD MS_VC_EXCEPTION = 0x406D1388; #pragma pack(push,8) typedef struct tagTHREADNAME_INFO { DWORD dwType; // Must be 0x1000. LPCSTR szName; // Pointer to name (in user addr space). DWORD dwThreadID; // Thread ID (-1=caller thread). DWORD dwFlags; // Reserved for future use, must be zero. } THREADNAME_INFO; #pragma pack(pop) void SetThreadName(DWORD dwThreadID, const char* threadName) { THREADNAME_INFO info; info.dwType = 0x1000; info.szName = threadName; info.dwThreadID = dwThreadID; info.dwFlags = 0; #pragma warning(push) #pragma warning(disable: 6320 6322) __try{ RaiseException(MS_VC_EXCEPTION, 0, sizeof(info) / sizeof(ULONG_PTR), (ULONG_PTR*)&info); } __except (EXCEPTION_EXECUTE_HANDLER){ } #pragma warning(pop) }
link: https://msdn.microsoft.com/en-us/library/xcb2z8hs.aspx
2、对于Windows 10, version 1607后版本,可以使用 SetThreadDescription GetThreadDescription 函数给线程关联名称
3、其实,线程名,只是用于调试器区别线程使用,可以自己通过线程id关联一个线程名称。
阅读全文
0 0
- C++ 关于 线程名称
- C++primer 关于名称空间
- 有三个线程A、B、C(线程名称或id),循环打印10次ABCABB
- 有三个线程A、B、C(线程名称或id),循环打印10次ABCABB…
- 设置线程名称函数
- 设置线程名称 - SetThreadName
- ps显示线程名称
- 线程的名称
- 获取线程的名称
- 获取当前线程名称
- 获取线程的名称
- 调试显示线程名称
- 关于线程的总结(.net,c#,winform)
- 关于强名称
- 关于强名称
- 关于计算机名称
- 关于C++从属名称
- 如何设置线程的名称
- HDU 1181 变形课(DFS)
- PHP的一些时间上的问题
- 使用WebUploader上传文件,,简单的配置过程
- ubuntu
- WebView加载图片自适应屏幕
- C++ 关于 线程名称
- JavaScript能做什么
- JAXP学习(3)学习总结
- Centos 安装 Nginx 详细过程
- 特殊字符即转义字符在浏览器下显示的不是想要的结果,以和"&"为例子讲解
- swiper使用的经验
- JavaNIO之缓冲区基础
- ios开发中 出现【nw_host_stats_add_src recv too small, received 24, expected 28】错误解决办法
- vue.js中的事件修饰符.self的用法。