我有一个程序可以更新程序输出,然后程序状态发生变化。这种情况发生在当时的自动收报机(不是openGL计时器,在线程中实现的计时器)发生,以及从glut(使用glutKeyboardFunc回调)注册键盘输入时。
这两个事件都会更新程序状态并调用glutPostRedisplay;问题只在于键盘按下时它实际上做了什么。当计时器滴答时,忽略显示功能,但是当按下键盘时,将调用显示功能。
过剩忽略其他线程吗?如果是这样,有办法让它注册它们。
答案 0 :(得分:6)
您不能从初始化的GLUT之外的线程调用glutPostRedisplay
或大多数其他GLUT函数.GLUT 不是线程安全的。