线程的挂起,唤醒和终止
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);
线程的挂起
在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);
相关文章推荐
- C++多线程编程――线程的挂起、唤醒与终止
- C++ 线程的创建,挂起,唤醒,终止
- C++多线程编程——线程的挂起、唤醒与终止
- MFC线程的挂起、唤醒和终止
- 线程的挂起,唤醒和终止
- C++多线程编程——线程的挂起、唤醒与终止
- C++ 线程的创建,挂起,唤醒,终止
- C++ 线程的创建,挂起,唤醒,终止
- C/C++ Windows API——线程挂起、唤醒与终止
- 线程挂起,恢复与终止
- 【Java并发编程】:线程挂起、恢复与终止
- 【Java并发编程】之三:线程挂起、恢复与终止的正确方法(含代码)
- 【Java并发编程】之三:线程挂起、恢复与终止的正确方法(含代码)
- 【Java并发编程】之三:线程挂起、恢复与终止的正确方法(含代码)
- 线程的挂起和唤醒
- 【Java并发编程】之三:线程挂起、恢复与终止的正确方法(含代码)
- 执行挂起状态线程的终止与暂停
- 【Java并发编程】之三:线程挂起、恢复与终止的正确方法(含代码)
- java线程技术6_线程的挂起和唤醒[转]
- 线程挂起恢复与终止