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

线程互斥API有关问题

2013-12-21 
线程互斥API问题EnterCriticalSection可以在线程以外的函数使用吗?不知道是不是必须线程内使用的问题先睡

线程互斥API问题
EnterCriticalSection

可以在线程以外的函数使用吗?
不知道是不是必须线程内使用的问题

先睡觉了、明天继续研究、
求大神帮忙解答下  先谢谢了



bool _My_Thread_Pool::_thread_Add_task(LPVOID Parameters) 
{   MessageBoxA(NULL,"加任务0位置","a",NULL);//到了此位置、进行下步直接死掉了
EnterCriticalSection(&_Mutual_exclusion);//进入互斥
MessageBoxA(NULL,"加任务1位置","a",NULL);
for (int i = 0; i < 线程池_参数最高值; i++)
{
MessageBoxA(NULL,"加任务A位置","a",NULL);
if (NULL == _thread_Parameters[i])
{
MessageBoxA(NULL,"加任务B位置","a",NULL);
_thread_Parameters[i] = Parameters;
_All_Task++;
if (i > _highest_record)
{
_highest_record =i;
}
LeaveCriticalSection(&_Mutual_exclusion);
return true;
}
}
MessageBoxA(NULL,"加任务C位置","a",NULL);
LeaveCriticalSection(&_Mutual_exclusion);
MessageBoxA(NULL,"任务添加失败","asdasdasd",NULL);
return false;
}



[解决办法]
可以在任何地方使用呀,但要记得进入后还要Leave,初始化,释放
[解决办法]
我看着没有问题啊;;;

热点排行