前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >线程的创建释放与使用

线程的创建释放与使用

作者头像
ClearSeve
发布2022-02-11 08:49:57
5730
发布2022-02-11 08:49:57
举报
文章被收录于专栏:ClearSeveClearSeve
线程处理函数
代码语言:javascript
复制
DWORD WINAPI ThreadProc(LPVOID pParam)
{
    return 0;
}
创建线程(无传参&创建后立刻执行)
代码语言:javascript
复制
DWORD nThreadID = 0;//保存线程ID
HANDLE hThread = NULL;//保存线程句柄
hThread = CreateThread(NULL,0,ThreadProc1,NULL,0,&nThreadID);//创建线程立刻执行,参数为0
创建线程(DWORD参数传递&创建后不会立刻执行)
代码语言:javascript
复制
DWORD nValue = 100;//将变量传递出去
CreateThread(NULL,0,ThreadProc1,(LPVOID)nValue,CREATE_SUSPENDED,&nThreadID);//创建一个挂起线程(默认不会执行)
在线程处理函数中使用变量

DWORD nValue = (DWORD)pParam;

结束指定线程

TerminateThread(m_hThreadHandle,0); // 线程句柄

启动线程

ResumThread(HANDLE hThread);

挂起(暂停)线程

SuspendThread(HANDLE hThread);

结束线程

ExitThread

线程等待(除非线程挂起,不然不会执行后面函数)

WaitForSingleObject(HANDLE,INFINITE); // 等候线程结束

关闭线程句柄 (是关闭句柄,不是关闭线程,线程没结束,关闭句柄线程照样执行)

CloseHandle

等候多个对象事件
代码语言:javascript
复制
HANDLE hAndle[2] = {NULL};
WaitForMultipleObjects(2/*句柄数量*/,hAndle/*句柄数组*/,TRUE/*TRUE等候所有句柄事件|FALSE等候其中一个句柄事件*/,INFINITE/*等候时间 无限等候*/);
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022年2月8日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 线程处理函数
  • 创建线程(无传参&创建后立刻执行)
  • 创建线程(DWORD参数传递&创建后不会立刻执行)
  • 在线程处理函数中使用变量
  • 结束指定线程
  • 启动线程
  • 挂起(暂停)线程
  • 结束线程
  • 线程等待(除非线程挂起,不然不会执行后面函数)
  • 关闭线程句柄 (是关闭句柄,不是关闭线程,线程没结束,关闭句柄线程照样执行)
  • 等候多个对象事件
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档