我编写了以下代码,以继续检查signal
(受SDL_mutex
保护),直到其值不同于0
。发生这种情况时,它将保存到s
中。
char s = 0;
while(!s) {
SDL_LockMutex(mutex);
s = signal
if(s) signal = 0;
SDL_UnlockMutex(mutex);
}
但是运行此代码将导致CPU使用率最高。可以通过在循环内添加SDL_Delay
来解决此问题,但我需要不断检查该值,以至于对我来说不起作用。
有解决方案吗?