-终止线程的运行

 

若要终止线程的运行,可以使用下面的方法:

* 线程函数返回(最好使用这种方法)。

* 通过调用ExitThread函数,线程将自行撤消(最好不要使用这种方法)。

* 同一个进程或另一个进程中的线程调用TerminateThrea函数(应该避免使用这种方法)。

* 包含线程的进程终止运行(应该避免使用这种方法)。

线程函数返回

这是确保所有线程资源被正确地清除的唯一办法

如果线程能够返回,就可以确保下列事项的实现:

* 在线程函数中创建的所有C++对象均将通过它们的撤消函数正确地撤消。

* 操作系统将正确地释放线程堆栈使用的内存。

* 系统将线程的退出代码(在线程的内核对象中维护)设置为线程函数的返回值。

* 系统将递减线程内核对象的使用计数

参考(互斥对象内核对象

ExitThread函数

可以让线程调用ExitThread函数,以便强制线程终止运行。

该函数将终止线程的运行,并导致操作系统清除该线程使用的所有操作系统资源。

但是,C++资源(如C++类对象,导致析构函数也没有被调用)将不被撤消。

TerminateThread函数

调用TerminateThread函数也能够终止线程的运行:

   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值