我有一个用例,在这个用例中,我想获取一个条件变量,并在一段时间间隔后释放它(例如:我有一个按时间排序的事件队列,我想在指定的持续时间内阻塞它)。
Duration = Earliest Time in Q - Current Time()我偶然发现了以下内容,这正是我的目的所在。
pthread_cond_timedwait(pthread_cond_t *restrict cond,
pthread_mutex_t *restrict mutex,
const struct timespec *restrict abstime);但问题是timespec.sec是time_t (这是一个32符号类型),它会溢出。有解决这个问题的办法吗?有没有其他可用的结构,我们将阻止更长的时间?我使用的是Linux平台。
发布于 2012-10-11 11:21:54
在64位Linux环境中,time_t是64位而不是32位。32位time_t直到2038年才会溢出,因此您还有几年的时间来升级您的计算机。
https://stackoverflow.com/questions/12828632
复制相似问题