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 などに) 変更できます。from pthread_cond_timedwait で使用する必要がある時間関数は?
私の質問:条件変数のデフォルト値が CLOCK_MONOTONIC であるか、Android で CLOCK_REALTIME でないかはわかりません。CLOCK_MONOTONIC の場合、問題を修正する必要はありません。
どうもありがとう。