2013-04-15 19 views
5

muszę dokonać wątek czekając obuC++ 11 alternatywa pthread_cond_timedwait

  • timeout wygasło lub
  • zmiennej zostanie zmieniona przez inny wątek

Po niektórych badań mam dowiedziałem się, że pthreads otrzymał pthread_cond_timedwait, co może być przydatne w tym przypadku, gdybym używał pthreads.

Zamiast tego używam wątków C++ 11. Czy istnieje odpowiednia dla mnie alternatywa bez całkowitego przejścia na pthreads?

Odpowiedz

9

Tak, chcesz std::condition_variable z <condition_variable>, który ma funkcję składową wait_for, która zajmuje pewien czas.

condition_variable klasa jest synchronizacja prymitywny które mogą być stosowane do blokowania nici, albo z wielu wątków w tym samym czasie, do:

  • zgłoszenie jest odbierany z innym wątku
  • limit czasu wygasa
+0

Dzięki! Działa idealnie na moje cele. – Rob013