मैं से http://www.justsoftwaresolutions.co.uk/threading/multithreading-in-c++0x-part-8-futures-and-promises.htmlअतुल्यकालिक समारोह कॉल C++ 0x
int calculate_the_answer_to_LtUaE(){
sleep(5);
cout << "Aaa" << endl;
}
std::future<int> the_answer=std::async(calculate_the_answer_to_LtUaE);
the_answer.get();
cout << "finish calling" << endl;
sleep(10000);
मैं calculate_the_answer_to_LtUaE (आह्वान करने के लिए the_answer.get() कॉल करने की आवश्यकता कोड के साथ std :: async समारोह पर परीक्षण कर रहा हूँ) और एएए मिल स्क्रीन पर मुद्रित। अगर मैंने the_answer.get() लाइन पर टिप्पणी की है, तो मुझे कुछ भी मुद्रित नहीं होगा। क्या यह std :: async फ़ंक्शन का इच्छित व्यवहार है या मैं यहां कुछ गलत कर रहा हूं? ऐसा इसलिए है क्योंकि मैंने सोचा था कि_answer.get() का उपयोग फ़ंक्शन को पूरा करने और परिणाम पुनर्प्राप्त करने के लिए किया जाता है।
धन्यवाद।
मेरा अनुमान है, जो व्यवहार आप देख रहे हैं मानक के अनुसार अनुमेय व्यवहार है, भले ही यह बहुत उप इष्टतम है। अब, पूरी चीज भी टूटी हुई है क्योंकि आपके पास 'calculate_the_answer_to_LtUaE' के अंत में 'वापसी' नहीं है। – Omnifarious