我有一个程序,主线程接收到用户操作后,就会_beginThreadEx一个线程来执行用户的请求,线称运行一段时间后,自己会有出口条件,能自己退出。请问:我需要在线称退出后调用closeHandle吗?不调用的话会导致内存泄漏吗?

解决方案 »

  1.   

    我如果创建线程后不需要再对线程进行其他的处理,比如:resumeThread,suspendThread等,我可以在线程刚刚创建完成后就closeHandle线程句柄吗????这样是不是就不会句柄泄漏了??? 这样会影响线程的正常运行吗?????
      

  2.   

    应该养成关闭Handle的习惯,当然不关闭也不会泄漏内存,但不是C++所提倡的.
    如果不关闭,那就成了Java了,
      

  3.   

    Just handle leak,not memory leak.
      

  4.   

    CloseHandle是为线程内核计数器减1.
    如果不这样做的话,会造成内核资源的泄漏
      

  5.   

    我也来说一下吧线程创建后, 运行结束没有CloseHandle将带来几个负面效应1. 虽然你不CloseHandle来显示关闭一个线程对象, 操作系统在进程结束也会帮你完成, 但是如果你的进程经常创建线程, 这样会产生资源的泄漏. 对效率有一个影响.2. 如果线程内产生了一个文件对象, 文件对象被进程拥有, 非线程拥有, 进程结束之前没有办法清理3. and so on...
      

  6.   

    你就用_beginthread 及到时在线程中_endthread。就不要用CloseHandle了。