_endthread, _endthreadex的调用_随笔

void _endthread( void );

void _endthreadex( unsigned retval );

参数:

retval( 线程的退出码)

功能

必需的标头

_endthread

<process.h>

_endthreadex

<process.h>

_endthread, _endthreadex分别停止 _beginthread 或 _beginthreadex创建的线程,

备注

可以显式调用 _endthread 或 _endthreadex 终止线程;但是,那么,当线程从线程函数返回到 _beginthread 或 _beginthreadex时,_endthread 或 _endthreadex 会自动调用。 停止点与线程调用endthread 或 _endthreadex 有助于确保为线程分配的资源适当的恢复。

对于使用 Libcmt.lib 链接的可执行文件,不要调用 Win32 API; ExitThread 这样可防止该运行时系统恢复已分配的资源。_endthread 和分发 _endthreadex 回收线程资源然后调用 ExitThread。

_endthread 自动关闭线程句柄。 (此行为与 Win32 API ExitThread 不同。)因此,那么,当您使用 _beginthread 和 _endthread时,不要通过调用 Win32 API CloseHandle 显式关闭线程句柄

与 Win32 ExitThread API 相比_endthreadex 不会自动关闭线程句柄。 因此,那么,当您使用 _beginthreadex 和 _endthreadex时,必须通过调用 Win32 API CloseHandle 关闭线程处理

 注意

_endthread 和 _endthreadex 显示调用会导致在线程挂起的 C++ 析构函数不调用

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值