你好,我在labwindows8.5.0下用到了多线程技术,
我的问题描述如下:
1 创建线程
CmtNewThreadPool (1, &poolHandle);
//创建线程
CmtScheduleThreadPoolFunction (poolHandle, Open_Init, 0, &threadID);
2 主线程休眠10s
for(i=0;i<1000;i++)
{
Sleep(10);
}
然后我在辅助线成Open_init中设定标志位,如果主线程醒来后,标志位是错误的,则杀死这个线程。
3 子线程
int CVICALLBACK Open_Init(void *functionData)
{
flag_th=0;
init_flag=OpenUnit(&handle);
flag_th=1;
return flag_th;
}
由于在OpenUnit过程中,函数可能会死掉。所以主线程等待10后判断flag_th标志。
4 我是用 CmtDiscardThreadPool (poolHandle); 来杀死线程,可是杀不死。请问该怎样修改?我的邮箱:yqh_buaa@asee.buaa.edu.cn