java句柄是什么意思 调用closehandle为什么无法关闭文件句柄?
调用closehandle为什么无法关闭文件句柄?许多程序在创建线程时都是这样写的:threadhandle=createthread(null,0,…)closehandel(threadhandl
调用closehandle为什么无法关闭文件句柄?
许多程序在创建线程时都是这样写的:threadhandle=createthread(null,0,…)closehandel(threadhandle)
1。线程和线程句柄不是一回事。线程在CPU上运行。。。。。。(不清楚),线程句柄是一个内核对象。我们可以通过句柄操作线程,但线程的生命周期与线程句柄的生命周期不同。线程的生命周期是从线程函数执行开始到返回。线程句柄的生命周期是从createthread到closehandle()。
2. 线程句柄是一种内核对象。系统维护每个内核对象。当每个内核对象的引用计数为0时,系统从内存中释放该对象。CloseHandle将线程对象的引用计数减少1。所有内核对象(包括线程句柄)都是系统资源,使用时需要返回这些资源。也就是说,使用完手柄后必须关闭手柄。如果不这样做,系统的句柄资源将很快用完。仅仅关闭一个线程句柄对象意味着我将不再使用句柄,也就是说,我将不会干扰与句柄对应的线程。线没有结束。