gpt4 book ai didi

c++ - 我需要将什么时间函数与 pthread_cond_timedwait 一起使用?

转载 作者:IT王子 更新时间:2023-10-28 23:59:13 25 4
gpt4 key购买 nike

pthread_cond_timedwait 函数需要时间 timespec 结构中的绝对时间。

我应该使用什么时间函数来获取绝对时间。我在网上看到了很多例子,我发现几乎所有时间功能都被使用了。 (ftime、clock、gettimeofday、clock_gettime(所有可能的 CLOCK_...)。

pthread_cond_timedwait 使用绝对时间。这个等待时间会不会因为改变机器的时间而受到影响?另外,如果我使用其中一个时间函数获取绝对时间,如果机器时间在获取和添加增量时间之间发生变化,这会影响等待时间吗?是否有可能用相对时间等待事件?

最佳答案

要使用的函数是带有条件变量的时钟 ID 的 clock_gettime()。此时钟 ID 默认为 CLOCK_REALTIME,但可以通过使用 pthread_condattr_t 初始化条件变量来更改(例如更改为 CLOCK_MONOTONIC), >pthread_condattr_setclock() 已被调用。

使用 time() 不是一个好主意,因为这不能保证等于 clock_gettime(CLOCK_REALTIME)tv_sec。在某些情况下,这可能会导致您的程序忙于等待 time() 到达 clock_gettime(CLOCK_REALTIME) 不久前已经达到的秒数。

关于c++ - 我需要将什么时间函数与 pthread_cond_timedwait 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3006259/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com