Condition::Condition()
{
#ifdef WIN32
pthread_cond_init(&_condition, NULL);
#else
pthread_condattr_t attr;
pthread_condattr_init(&attr);
int r;
if ((r = pthread_condattr_setclock(&attr, CLOCK_MONOTONIC))) {
THROW("set clock failed %d", r);
}
pthread_cond_init(&_condition, &attr);
pthread_condattr_destroy(&attr);
#endif
}
在ndkr8d中,没有pthread_condattr_setclock这个方法。</p>
默认情况下,此时钟 ID 为 CLOCK_REALTIME,但可以通过使用已调用 pthread_condattr_setclock() 的 pthread_condattr_t 初始化条件变量来更改(例如更改为 CLOCK_MONOTONIC)。从什么时间函数我需要与 pthread_cond_timedwait 一起使用?
我的问题:我不知道条件变量的默认值是 CLOCK_MONOTONIC 还是 Android 中的 CLOCK_REALTIME。如果 CLOCK_MONOTONIC,我不需要解决问题。
非常感谢。