2013-04-15 5 views
5

मैं एक धागा या तोसी ++ 11 विकल्प pthread_cond_timedwait

  • समय समाप्त अवधि समाप्त हो चुकी है, या
  • एक चर
  • जब तक इंतज़ार कर रहे एक और धागा

द्वारा बदल दिया गया है कुछ शोध मैं करने के बाद करने की जरूरत है पता चला कि pthreads pthread_cond_timedwait जो इस मामले में उपयोगी हो सकता है अगर मैं pthreads का उपयोग कर रहा हूं।

मैं इसके बजाय सी ++ 11 धागे का उपयोग कर रहा हूं। क्या पूरी तरह से pthreads के बिना मेरे लिए एक उपयुक्त विकल्प है?

उत्तर

9

हां, आप <condition_variable> से चाहते हैं, जिसमें एक सदस्य कार्य wait_for है जो समय अवधि लेता है।

condition_variable वर्ग एक तुल्यकालन आदिम कि एक ही समय में एक धागा, या एक से अधिक थ्रेड ब्लॉक करने के लिए इस्तेमाल किया जा सकता है, जब तक :

  • एक अधिसूचना एक और धागे से प्राप्त होता है
  • एक टाइमआउट समाप्त हो जाता है
+0

धन्यवाद! यह मेरे लक्ष्य के लिए पूरी तरह से काम करता है। – Rob013