线程的挂起,唤醒和终止
来源:互联网 发布:华为4g上网卡 ubuntu 编辑:程序博客网 时间:2024/05/06 23:45
//如果是利用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);
- 线程的挂起,唤醒和终止
- MFC线程的挂起、唤醒和终止
- C++ 线程的创建,挂起,唤醒,终止
- C++ 线程的创建,挂起,唤醒,终止
- 线程的挂起和唤醒
- 线程的挂起和唤醒
- java 线程的挂起和唤醒
- linux线程的挂起和唤醒
- Java线程的挂起、恢复和终止
- Java线程的挂起、恢复和终止
- java线程技术6_线程的挂起和唤醒
- java线程技术6_线程的挂起和唤醒
- C++多线程编程——线程的挂起、唤醒与终止
- C++多线程编程——线程的挂起、唤醒与终止
- java入门教程-7.11Java线程的挂起、恢复和终止
- Java线程的挂起与唤醒
- VC线程的挂起及唤醒
- C/C++ Windows API——线程挂起、唤醒与终止
- (转)log4j详解与实战
- D - A Simple Problem with Integers
- SQLite入门与分析(一)
- POJ1816 Wild Words Trie+Dfs
- POJ 3895 Cycles of Lanes
- 线程的挂起,唤醒和终止
- 一些JSON相关的函数
- 【STRUTS1.2】struts-config.xml详解
- SQLite入门与分析(二)---设计与概念
- 自动包装机制与数组
- C结构体中的函数指针与函数
- linux oracle10g rac 等待: gc cr multi block request
- 给tiny6410核心板加装了散热片
- 关于C语言scanf输入匹配的问题