关于MFC创建多个线程互斥问题 请教!!
如何才能通过互斥之类的方法,控制第一个线程的内容结束后执行第二个线程,第二个线程的内容结束后再执行第三个线程的内容。
按键直接创建4个线程
void CEight_threadsDlg::OnBnClickedButton2()
{
//创建线程
//for (int i = 0; i < 4; i++)
//{
// hThead[i] = CreateThread(NULL, 0, ThreadProc2, this, 0, NULL);
//}
hThead[0] = CreateThread(NULL, 0, ThreadProc1, &m_speed, 0, NULL);
hThead[1] = CreateThread(NULL, 0, ThreadProc2, &m_speed1, 0, NULL);
hThead[2] = CreateThread(NULL, 0, ThreadProc3, &m_speed2, 0, NULL);
hThead[3] = CreateThread(NULL, 0, ThreadProc4, &m_speed3, 0, NULL);
Thead_int = 1;
}
4个线程:
//线程1
DWORD WINAPI CEight_threadsDlg::ThreadProc1(LPVOID lpParam)
{
while (1)
{
// 线程执行内容
}
}
//当线程1的内容执行完之后再执行线程2的内容
//线程2
DWORD WINAPI CEight_threadsDlg::ThreadProc2(LPVOID lpParam)
{
while (1)
{
// 线程执行内容
}
}
//线程3
DWORD WINAPI CEight_threadsDlg::ThreadProc3(LPVOID lpParam)
{
while (1)
{
// 线程执行内容
}
}
//线程4
DWORD WINAPI CEight_threadsDlg::ThreadProc4(LPVOID lpParam)
{
while (1)
{
// 线程执行内容
}
}
如果是用if判断4个布尔变量来控制的话,已经测试过可以实现,请问有没有更专业一点的方法呢?请教一下!!