2
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 の場合、問題を修正する必要はありません。

どうもありがとう。

4

0 に答える 0