में std :: थ्रेड निकास पर स्वचालित रूप से फ़ंक्शन को आमंत्रित करना मैं वर्तमान थ्रेड से बाहर होने पर स्वचालित रूप से होने के लिए फ़ंक्शन (या लैम्ब्डा फ़ंक्शन) का एक आमंत्रण सेट करना चाहता हूं, लेकिन मुझे ऐसा करने का कोई तरीका नहीं दिख रहा है यह std::thread
के साथ काम करता है जब तक कि मैं थ्रेड सृजन का पूरा कार्य नहीं लेता या मैन्युअल रूप से यह सुनिश्चित करता हूं कि प्रत्येक थ्रेड कुछ विशेष फ़ंक्शन को कॉल करता है जिसे मैं हमेशा अपने अंतिम ऑपरेशन के रूप में प्रदान करता हूं।सी ++ 11
अनिवार्य रूप से, मैं समारोह जिसका प्रोटोटाइप कुछ इस तरह जैसे लगते हो सकता हैं:
on_thread_exit(const std::function<void()> &func);
कौन सा प्रदर्शन करेंगे जो कुछ भी सेटअप सुनिश्चित करना है कि यह देखते हुए समारोह स्वचालित रूप से धागा जो on_thread_exit कहा जाता है अंत में समाप्त हो जाता है बुलाया गया था जरूरी हो गया था, और धागे निर्माण या समाप्ति पर स्पष्ट रूप से बुलाए जाने वाले किसी भी विशेष कार्यों की आवश्यकता के बिना।
यह ऐसा मामला है जिस धागा कॉलबैक कॉल करता है? ट्रिगरिंग थ्रेड निकलने के तुरंत बाद, इसे एक सहायक थ्रेड द्वारा किया जा सकता है? –