您的位置:首页 > 其它

线程的挂起,唤醒和终止

2011-08-07 17:13 316 查看
//如果是利用h=AfxBeginThread()创建线程,需要获取句柄,h->m_hThread

线程的挂起

在CreateThread()等函数创建线程时,可以指定线程的挂起状态,

在运行过程中也可以挂起线程

DWORD SuspendThread(HANDLE hThread);

hThread表示线程的句柄

返回值:成功,返回值为之前挂起的线程次数,失败返回0Xffffffff

线程的唤醒

通过唤醒线程恢复线程的执行

DWORD ResumeThread(HANDLE hThread);

线程的终止

3种方式//建议第一种方法

1:DWORD dwExit;

BOOL ret=GetExitThread(m_p->handle,&dwExit)//根据句柄获取线程的状态

if(dwExit==STILL_ACTIVE)//线程还在活动

{

m_p->ExitInstance();

delete m_p;

}//其中m_p的类型是 CWinThread *;

2: ExitThread(DWORD dwExitCode);

dwExitCode与1中的dwExit相同

3:BOOL TeminateThread(HANDLE,DWORD dwExitCode);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: