我一直在使用 C++ 对多线程解决方案进行大量研究,但由于某种原因,我无法找到任何具体的语法来使用(而不使用任何库)我正在将图像渲染到屏幕并分离屏幕空间对于每个线程。
我想要发生的是让线程增加一个值并挂起,一旦所有线程都通过它将显示到屏幕上,并释放线程重新开始。
void WaitForThreads(){
WaitForSingleObject( hCompleteThread, INFINITE );
IdleThreads++;
if(IdleThreads==CoreMax){
//Copy image to screen
ReleaseMutex( hRelease);
}
ReleaseMutex( hCompleteThread);
WaitForSingleObject( hRelease, INFINITE );
IdleThreads--;
if(IdleThreads>0){
ReleaseMutex( hRelease);
}
}
我不确定我是否使用了不正确的语法,或者只是没有完全掌握正在发生的事情。