C++ 11 नए सूत्रण सामान के ऊपर देख रहे हैं कि कैसे आसानी से यह pthreads को नक्शे को देखने के लिए, मैं thread
निर्माता क्षेत्र में उत्सुक खंड नोटिस:सी ++ 11 में, थ्रेड का बिंदु क्या है जो "निष्पादन के धागे का प्रतिनिधित्व नहीं करता"?
धागा();
प्रभाव: एक थ्रेड ऑब्जेक्ट बनाता है जो निष्पादन के धागे का प्रतिनिधित्व नहीं करता है।
Postcondition: get_id() == आईडी()
फेंकता: कुछ भी नहीं।
दूसरे शब्दों में, एक धागा के लिए डिफ़ॉल्ट निर्माता वास्तव में प्रतीत नहीं होता है एक धागा पैदा करते हैं। जाहिर है, यह ऑब्जेक्ट, धागा बनाता है लेकिन इसके लिए कोई बैकिंग कोड नहीं है तो यह कितना उपयोगी है? क्या कोई और तरीका है कि उस वस्तु से "निष्पादन का धागा" संलग्न किया जा सकता है, जैसे thrd.start()
या कुछ समान?
सी ++ 11 तुम्हारे और मेरे दोनों को डरा रहा है, सौभाग्य से मैं अब एक कर्नेल देव हूं इसलिए मानकों को अब मुझ पर नहीं बदल रहा है :) –
मुझे लगता है कि उनका मतलब है कि धागा कन्स्ट्रक्टर वास्तविक धागा नहीं बनाता है, यह ऑपरेशन सिस्टम को कॉल नहीं करता है, स्टैक आवंटित नहीं करता है/अन्य संसाधन और आम तौर पर एक बंद धागा नहीं बनाते हैं। मुझे लगता है कि यह जगह पर है इसलिए लोगों को पता चलेगा कि वे इसे शुरू करने से पहले थ्रेड बनाकर कुछ भी बर्बाद नहीं कर रहे हैं (कुछ झंडे भंडारण के अलावा)। – Dani
@ जेसस रामोस: कर्नेल देव मानक परिवर्तन से डरते हैं? अगर मुझे सही याद है कि प्रत्येक नए प्रोसेसर कर्नेल में कुछ तोड़ता है या एक सुविधा जोड़ता है जिसके लिए बहुत सारे पुनर्लेखन को लागू करने की आवश्यकता होती है। – Dani