C++ 为什么锁定std::mutex会阻止计时器回调?

C++ 为什么锁定std::mutex会阻止计时器回调?,c++,multithreading,timer,callback,mutex,C++,Multithreading,Timer,Callback,Mutex,我正在编写一个音频引擎,并使用timeSetEvent大约每隔20毫秒调用引擎的更新函数。在主线程中,我调用另一个类的方法来锁定std::mutex对象。一旦互斥锁被锁定,计时器回调就不再执行 timeSetEvent是否与互斥体不兼容,或者是否有其他原因?对于其他-Windows。您的事件处理是否涉及相同的互斥锁?如果是,您确定在活动结束时解锁了它吗?你不是无意中在任何地方重复使用它吗?我的错。在添加互斥时,我意外地取消了return语句的注释,因此实际上永远不会到达unlock。谢谢

我正在编写一个音频引擎,并使用timeSetEvent大约每隔20毫秒调用引擎的更新函数。在主线程中,我调用另一个类的方法来锁定std::mutex对象。一旦互斥锁被锁定,计时器回调就不再执行


timeSetEvent是否与互斥体不兼容,或者是否有其他原因?

对于其他-Windows。您的事件处理是否涉及相同的互斥锁?如果是,您确定在活动结束时解锁了它吗?你不是无意中在任何地方重复使用它吗?我的错。在添加互斥时,我意外地取消了return语句的注释,因此实际上永远不会到达unlock。谢谢