धागे बढ़ावा देने के लिए :: thread_group की तरह जोड़ा जाता है:थ्रेड थ्रेड ऑब्जेक्ट को कैसे हटाएं जब धागा स्वयं समाप्त हो जाता है?
boost::thread_group my_threads;
boost::thread *t = new boost::thread(&someFunc);
my_threads.add_thread(th);
सब बनाया बढ़ावा :: धागा वस्तुओं नष्ट हो जाती हैं केवल जब my_threads
वस्तु क्षेत्र से बाहर है। लेकिन मेरे कार्यक्रम मुख्य धागे निष्पादन के दौरान बहुत सारे धागे पैदा करता है। तो यदि लगभग 50 धागे पहले से ही किए गए हैं, तो लगभग 1,5Gb स्मृति का उपयोग प्रोग्राम द्वारा किया जाता है और यह स्मृति केवल मुख्य प्रक्रिया समाप्ति पर मुक्त होती है।
प्रश्न यह है: थ्रेड फ़ंक्शन समाप्त होने पर इन बूस्ट :: थ्रेड ऑब्जेक्ट को कैसे हटाएं?
मेरा मानना है कि यह प्रश्न समान है: http://stackoverflow.com/questions/3970818/whats-the-best-way-to-delete-boostthread-object-right-after-its-work-is-compl – Naveen
@Naveen, मुझे वास्तव में एक रैपर की आवश्यकता है जो मुख्य पूल के लिए पूछे जाने पर सभी पूल किए गए बच्चों के धागे को बाधित कर सकता है। आपके द्वारा लिंक किए गए प्रश्न में वे केवल एक धागा बनाने और बूस्ट :: थ्रेड ऑब्जेक्ट को अलग करने की सलाह देते हैं। समाधान के लिए –