首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

创建线程时的一个有关问题

2012-03-07 
创建线程时的一个问题HANDLEhThread1HANDLEhThread2g_hEventCreateEvent(NULL,TRUE,FALSE,NULL)hThrea

创建线程时的一个问题
HANDLE   hThread1;
HANDLE   hThread2;

g_hEvent   =   CreateEvent(NULL,   TRUE,   FALSE,   NULL);

hThread1   =   CreateThread(NULL,   0,   Fun1Proc,   NULL,   0,   NULL);
hThread2   =   CreateThread(NULL,   0,   Fun2Proc,   NULL,   0,   NULL);
CloseHandle(hThread1);
CloseHandle(hThread2);

为什么创建完线程要用CloseHandle来释放句柄?
用CreateThread创建线程,线程的计数器是为2?

[解决办法]
CreateThread启动了一个线程,同时产生一个句柄让你好操纵这个线程,如果你不要用这个句柄了就CloseHandle关掉它.CloseHandle后线程仍然会正常执行,但却不能操控它了
[解决办法]
线程创建时,创建了两个不同的东西
1、线程内核对象。 //句柄就是指的这个。用于存放线程信息和系统管理目的。
2、线程本身(包括堆栈等资源)。用于执行工作任务

当你不需要通过句柄对线程进行访问时,随时可以关闭它,而不会影响工作线程的执行。

热点排行