Linux平台上c++11的std::condition_variable实现存在问题?
2020-12-18 01:34
标签:解决 flow question 存在 linux 导致 超时 系统 tac 最近在跨平台移植代码的过程中遇到一个比较奇怪的问题,使用C++11特性实现的一段代码在windows平台跑的好好的,到了Linux平台上就会在特定的条件下卡住。 解决办法参考:https://stackoverflow.com/questions/51005267/how-do-i-deal-with-the-system-clock-changing-while-waiting-on-a-stdcondition-v Linux平台上c++11的std::condition_variable实现存在问题? 标签:解决 flow question 存在 linux 导致 超时 系统 tac 原文地址:https://www.cnblogs.com/csstudy/p/14099339.html
仔细定位了一下发现Linux平台实现condition variable的wait_until接口里面使用了绝对时间,虽然参数是steady_clock,导致定时器跑到这里之后将系统时间调整到之前的一段时间就很长时间都不会超时。
上网查了一下说是Linux上的库实现的问题,windows跟boost都没这个问题。
上一篇:JAVA中的方法递归
下一篇:C语言基本构成
文章标题:Linux平台上c++11的std::condition_variable实现存在问题?
文章链接:http://soscw.com/essay/36979.html