线程互斥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;
}