如何多次連續調用3個線程?例如:在迭代1中,執行順序應該是「Thread0-> thread1-> thread2」,那麼在迭代2中應該是相同的,即「Thread0 - > thread1-> thread2」,依此類推。示例代碼只執行一次3個線程。它不會進行第二次迭代。如何多次連續調用3個線程?
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
這是爲什麼的第一件事每個人都試圖與線程做的是徹底擊垮線程的整個點? (你的問題似乎是基於一些誤解,例如,你認爲這意味着什麼「調用3個線程」?你調用函數,它並不意味着任何「調用」線程。) –
David。 。我知道我沒有利用線程的力量,但只是想知道這將如何工作?調用線程意味着調用該線程函數只.. – Hello
你是什麼意思的「調用線程函數」?什麼是「線程功能」?你的意思是線程啓動時運行的函數嗎?如果是這樣,線程在啓動時調用它自己的函數。 –