3つのスレッドを連続して何度も呼び出す方法は?例:反復1では、実行順序は「Thread0-> thread1-> thread2」である必要があり、反復2では同じである必要があります(つまり、「Thread0-> thread1-> thread2」など)。サンプルコードは、3つのスレッドを1回だけ実行しています。2回目の反復にはなりません。
Thread0 = CreateThread( NULL,0,ThreadProc0, NULL, CREATE_SUSPENDED, &ThreadID);
Thread1 = CreateThread( NULL,0,ThreadProc1, NULL, CREATE_SUSPENDED, &ThreadID);
Thread2 = CreateThread( NULL,0,ThreadProc2, NULL, CREATE_SUSPENDED, &ThreadID);
for(i=0;i<iterations;i++) //Iterations in calling threads
{
ResumeThread(Thread0);
WaitForSingleObject(Thread0, INFINITE);
ResumeThread(Thread1);
WaitForSingleObject(Thread1, INFINITE);
ResumeThread(Thread2);
WaitForSingleObject(Thread2, INFINITE);
}
// Close thread and semaphore handles