社区
进程/线程/DLL
帖子详情
为什么要在_beginthread之后立即CloseHandle()它?
csoapy
2006-08-19 09:48:25
看了几个多线程的示例代码,都是这么做的。
查了下MSDN,它说CloseHandle时如果是被关的对象是线程的话也不会引起线程退出。
不明白。
...全文
261
3
打赏
收藏
为什么要在_beginthread之后立即CloseHandle()它?
看了几个多线程的示例代码,都是这么做的。 查了下MSDN,它说CloseHandle时如果是被关的对象是线程的话也不会引起线程退出。 不明白。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hailongchang
2006-08-23
打赏
举报
回复
线程是一种内核对象,系统维护着每一个内核对象,当每个内核对象引用记数为0时,系统就从内存中释放该对象,CloseHandle就是将该线程对象的引用记数减1
louifox
2006-08-19
打赏
举报
回复
关闭线程句柄不会引起线程结束,只是减少线程内核对象的引用计数。
song_09
2006-08-19
打赏
举报
回复
创建线程后会返回一个线程句柄,线程的使用记数为2,在你得到线程句柄后如果不对线程进行其他操作的话就通过CloseHandle()关闭该句柄,同时线程记数-1。线程执行退出时,记数也会减1,记数为0时,操作系统会释放线程的句柄资源,因此,大多数情况下,创建完线程后都会关闭线程句柄。跟多详细信息可以参考《windows核心编程》。
win32多线程
`_be
gin
thread
ex()`比`_be
gin
thread
()`更安全,因为它允许指定线程的安全属性。两者都返回一个线程ID,可以用于线程管理。 3. **AfxBe
gin
Thread
()**: 对于MFC(Microsoft Foundation Classes)应用程序,`...
服务器和客户端利用线程的读写
因此,在创建多线程应用程序时,建议使用专门支持多线程的库,例如在Visual C++中使用`_be
gin
thread
`和`_end
thread
`函数来创建和销毁线程,或者在MFC程序中使用`AfxBe
gin
Thread
`函数。 #### 四、服务器和客户端的...
_be
gin
thread
ex 和 _be
gin
thread
的区别
uintptr_t _be
gin
thread
( void( *start_address )( void * ), unsigned stack_size, void *arglist ); uintptr_t _be
gin
thread
ex( void *security, unsigned stack_size,
_be
gin
thread
, _be
gin
thread
ex
uintptr_t _be
gin
thread
( // NATIVE CODE void( __cdecl *start_address )( void * ), unsigned stack_size, void *arglist ); uintptr_t _be
gin
thread
( // MANAGED CODE void( __clrcall *start_add...
【C++】多线程之_be
gin
thread
与_be
gin
thread
ex
但它没有释放在执行函数中new的内存,同时,对于在函数中定义的类对象,它的析构函数不会执行。举一个例子,如果有个类是这样定义的,在构造函数中new了内存,并在析构函数中释放。很显然,内存泄漏。 代码示例 ...
进程/线程/DLL
15,467
社区成员
49,170
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章