码迷,mamicode.com
首页 > 编程语言 > 详细

多线程API总结

时间:2020-03-31 19:19:22      阅读:56      评论:0      收藏:0      [点我收藏+]

标签:current   lag   空间   object   sleep   info   flags   null   http   

CreateThread创建线程,成功返回线程句柄,失败返回NULL

 

HANDLE CreateThread(
  LPSECURITY_ATTRIBUTES   lpThreadAttributes,   //指向SECURITY_ATTRIBUTESX形态的结构指针。NULL为使用默认安全性
  DWORD                   dwStackSize,   //设置初始栈大小,以字节为单位,如果为0,那么默认使用与调用该函数的线程相同的栈空间大小
  LPTHREAD_START_ROUTINE  lpStartAddress,//指向线程函数的指针,函数名没有限制 形式:DWORD WINAPI ThreadProc(LPVOID lpParam)
  LPVOID                  lpParameter,   //向线程函数传递的参数,是一个void*指针,不需要传递参数时为NULL(线程处理函数)
  DWORD                   dwCreationFlags,//线程标志
  LPDWORD                 lpThreadId  //保存新线程ID,若不想返回线程ID,设为NULL(这是返回值)

CreateThread在主线程基础上创建一个新线程。

 

获取线程ID

DWORD WINAPI GetCurrentThreadId(VOID);//返回获取当前的线程ID

 

关闭线程句柄

BOOL CloseHandle(HANDLE hObject);
//关闭一个线程句柄,引用计数减1,表示我部队这个句柄对应的线程做任何干预,
//但并没有结束线程

 

挂起指定线程:SuspendThread

DWORD WINAPI SuspendThread(HANDLE hThread);

恢复被挂起的线程:ResumeThread

DWORD WINAPI ResumeThread(HANDLE hThread);

 

休眠线程:Sleep

VOID WINAPI Sleep(DWORD dwMilliseconds);//dwMilliseconds表示毫秒数

WaitForSingleObject等待一个内核对象变为已通知状态

DWORD WaitForSingleObiect(HANDLE hObject,DWORD dwMilliseconds);

hObject:指明一个内核对象的句柄

dwMilliseconds:等待时间,毫秒数

技术图片

 

通俗的讲线程函数没结束就出局未通知状态,已结束就处于已通知状态

 

 

多线程API总结

标签:current   lag   空间   object   sleep   info   flags   null   http   

原文地址:https://www.cnblogs.com/liu6666/p/12607027.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!