csoapy 发表于 2006-8-19 9:48:25
看了几个多线程的示例代码,都是这么做的。
查了下MSDN,它说
CloseHandle时如果是被关的对象是线程的话也不会引起线程退出。
不明白。
song_09 发表于 2006-8-19 13:11:31
创建线程后会返回一个线程句柄,线程的使用记数为2,在你得到线程句柄后如果不对线程进行其他操作的话就通过CloseHandle()关闭该句柄,同时线程记数-1。线程执行退出时,记数也会减1,记数为0时,操作系统会释放线程的句柄资源,因此,大多数情况下,创建完线程后都会关闭线程句柄。跟多详细信息可以参考《windows核心编程》。
louifox 发表于 2006-8-19 13:14:42
关闭线程句柄不会引起线程结束,只是减少线程内核对象的引用计数。
hailongchang 发表于 2006-8-23 16:47:02
线程是一种内核对象,系统维护着每一个内核对象,当每个内核对象引用记数为0时,系统就从内存中释放该对象,CloseHandle就是将该线程对象的引用记数减1