//如果是利用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);
相关文章
- 进程、线程、服务和任务的区别以及多线程与超线程的概念
- Java多线程并发01——线程的创建与终止,你会几种方式
- 创建Java多线程的两种方式和线程异常
- Java多线程系列--“JUC锁”11之 Semaphore信号量的原理和示例
- 多线程的练习----妖,等待唤醒,代码重构,lock到condition
- try catch中用了 Response.Redirect 引发的线程异常终止
- 2018.7.26 进程和线程的区别 &&你对 Java平台的理解
- Windows下的PHP安装文件线程安全和非线程安全的区别
- Java并发编程(五):Java线程安全性中的对象发布和逸出
- Java基础-多线程编程-1.随便选择两个城市作为预选旅游目标。实现两个独立的线程分别显示10次城市名,每次显示后休眠一段随机时间(1000ms以内),哪个先显示完毕,就决定去哪个城市。分别用Runnable接口和Thread类实现。