2013-04-15 7 views
5

ho bisogno di fare un thread in attesa fino a quandoC++ 11 alternativa pthread_cond_timedwait

  • un timeout è scaduto, o
  • una variabile viene modificato da un altro thread

Dopo alcune ricerche ho ha scoperto pthreads pthread_cond_timedwait che potrebbe essere utile in questo caso se usassi pthreads.

Utilizzo invece thread in C++ 11. C'è un'alternativa adatta a me senza passare completamente ai pthreads?

risposta

9

Sì, si desidera std::condition_variable da <condition_variable>, che ha una funzione membro wait_for che richiede una durata.

La classe condition_variable è una primitiva di sincronizzazione che può essere utilizzato per bloccare un filo, oi fili multipli allo stesso tempo, fino:

  • una notifica è ricevuto da un altro thread
  • Scade il timeout
+0

Grazie! Funziona perfettamente per i miei scopi. – Rob013