现在的位置: 首页 > 综合 > 正文

[VC]线程函数介绍

2018年06月06日 ⁄ 综合 ⁄ 共 696字 ⁄ 字号 评论关闭

Win32 提供了一系列的API 函数来完成线程的创建、挂起、恢复、终结以及通信等工作。

1 创建新的线程,返回已建线程的句柄:
HANDLE CreateThread(LPSECURITY_ATTRIBUTES lpThreadAttributes,
DWORD dwStackSize,
LPTHREAD_START_ROUTINE lpStartAddress,
LPVOID lpParameter,
DWORD dwCreationFlags,
LPDWORD lpThreadId);

参数常规配置:(NULL,0,线程函数名,线程函数参数,创建时的状态)

2 挂起指定线程
DWORD SuspendThread(HANDLE hThread);

3 结束线程的挂起状态,执行线程
DWORD ResumeThread(HANDLE hThread);

4 结束线程(线程内结束)
VOID ExitThread(DWORD dwExitCode);

5 结束线程(线程外结束)
BOOL TerminateThread(HANDLE hThread,DWORD dwExitCode);
dwExitCode:线程的退出码
使用TerminateThread()终止某个线程的执行是不安全的,可能会引起系统不稳定;该函数立即终止线程的执行,但并不释放线程所占用的资源。因此,一般不建议使用该函数。

6 将消息加入指定线程的消息队列(不等到消息返回)
BOOL PostThreadMessage(DWORD idThread,
UINT Msg,
WPARAM wParam,
LPARAM lParam);
调用该函数时,如果即将接收消息的线程没有创建消息循环,则该函数执行失败。

【上篇】
【下篇】

抱歉!评论已关闭.