核心对象计数器的有关问题

核心对象计数器的问题
创建一个线程就会创建相应的核心对象,其中核心对象的计数器为1
使用closehandle   会使计数器减1

那为什么下面程序在创建线程后   马上用closehandle关闭   ,却没有被销毁

#include   <windows.h>
#include   <iostream.h>

DWORD   WINAPI   Fun1Proc(
    LPVOID   lpParameter       //   thread   data
);


int   index=0;
int   tickets=100;
HANDLE   hMutex;
void   main()
{
HANDLE   hThread1;
hThread1=CreateThread(NULL,0,Fun1Proc,NULL,0,NULL);
                  //创建了线程,,同时使核心对象计数器为1
CloseHandle(hThread1);    
                //关闭句柄   计数器-1   :为0   //计数器为0了应该销毁线程了
              //   为什么线程还能运行

while(index++ <1000)
cout < < "1 " < <endl;

}

DWORD   WINAPI   Fun1Proc(
    LPVOID   lpParameter    
)
{
while(index++ <1000)
cout < < "2 " < <endl;;
}

------解决方案--------------------
其实在你执行后 hThread1=CreateThread(NULL,0,Fun1Proc,NULL,0,NULL);

线程的内核对象的计数器为2 (为什么是2 可参看《windows 核心编程》这本书,里面讲得很清

楚)