我正在使用POCO进行线程。
我有一个主线程来完成所有opengl绘图,它有一个update()和一个draw(),每个帧被调用,帧速率设置为1/60秒后,通过休眠后的剩余时间两个功能都已运行。
这个主线程有2个子(POCO)线程,用于加载和播放声音文件,有时文件需要解码。当声音文件加载到它们的线程中时,它们会在另一个子线程中进行节拍检测。
当声音文件需要解码时,我在主线程中获得了可怕的帧速率,我希望保证60 fps但是在解码时它可以降到2,显然cpu允许这些声音文件线程太多时间执行。
我想要做的是指定如果每个线程在主线程启动它的update()函数后的1/60秒内没有完成工作,那么执行将停止,直到下一个update()循环有完成在主框架中。我还想指定主线程非常重要,它必须在任何其他线程有机会运行之前完成其update()和draw()函数。