似乎gcc中存在一个错误std::condition_variable::cv.wait_for().
如果系统时间在等待期间发生变化,则会在错误的时间段后返回.
大多数情况下 - 如果时间移动到过去,它就不会返回,或者如果时间移动到未来,它会立即唤醒.
我认为原因是它使用系统时钟而不是steady_clock(https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/std/condition_variable#L67).
有人遇到过这个问题吗?什么可能是一个解决方法?