创建一个线程就会创建相应的核心对象,其中核心对象的计数器为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;;
}
使用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;;
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货