pthread_cond_timedwait ()

void wait(int timeInMs)
{
    struct timespec timeToWait;
    timeToWait.tv_sec = 5;
    timeToWait.tv_nsec = timeInMs*1000;

    int rt;

    pthread_mutex_lock(&fakeMutex);
    rt = pthread_cond_timedwait(&fakeCond, &fakeMutex, &timeToWait);
    pthread_mutex_unlock(&fakeMutex);
}

Ich verwende diesen Code, um einen Thread zum Warten zu bringen, aber es funktioniert überhaupt nicht. Keine Fehler, das Programm wird nur nicht langsamer ausgeführt.

Ich dachte, vielleicht muss jeder Thread seinen eigenen Zustand und Mutex haben, aber das ergibt für mich wirklich keinen Sinn.

Antworten auf die Frage(7)

Ihre Antwort auf die Frage