c++创建线程学习中遇到的问题:关闭线程句柄对象有什么用?

#include<windows.h>
#include<stdio.h>

DWORD WINAPI myfun1(LPVOID lpParameter);
DWORD WINAPI myfun2(LPVOID lpParameter);

int main()
{
	HANDLE h1, h2;
	h1 = ::CreateThread(NULL, 0, myfun1, NULL, 0, NULL);
	printf("线程1开始运行\r\n");
	h2 = ::CreateThread(NULL, 0, myfun2, NULL, 0, NULL);
	printf("线程2开始运行\r\n");
	::CloseHandle(h1);
	::CloseHandle(h2);
    while(1)
	{
		if(getchar() == 'q')
			return 0;
		else
			::Sleep(1000);
	}
}

DWORD WINAPI myfun1(LPVOID lpParameter)
{
	printf("线程1正在计数\r\n");
	return 0;
}
DWORD WINAPI myfun2(LPVOID lpParameter)
{
	printf("线程2正在计数\r\n");
	return 0;
}
代码如上,想问::CloseHandle(h1); ::CloseHandle(h2);这两句关闭句柄对象的语句有什么用,不关闭的话会怎样?新手,求大神赐教,谢谢!  

全部评论
不懂windows
1 回复 分享
发布于 2017-03-27 17:24

相关推荐

01-26 18:45
门头沟学院 Java
一天代码十万三:哥们实习再包一下吧,产出太笼统了,尽量体现业务
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务