मैं लॉगिंग करते समय थ्रेड को एक साधारण आईडी द्वारा पहचानने में सक्षम होना चाहता हूं ताकि एक थ्रेड के निष्पादन को ढूंढना आसान हो। एपीआई GetCurrentThreadId()
का उपयोग कर खिड़कियों के साथ मैं जो चाहता हूं उसे प्राप्त कर सकता हूं। boost::thread
में एक विधि get_id()
है लेकिन यह एक पूर्णांक की तरह एक अभिन्न मूल्य का प्रतिनिधित्व नहीं करता है। इस ऑब्जेक्ट में थ्रेड_डेटा सदस्य है जिसमें एक आईडी है जो मुझे लगता है कि मैं चाहता हूं लेकिन डेटा सदस्य निजी है इसलिए इसका उपयोग नहीं किया जा सकता है।बूस्ट आईडी को बूस्ट :: थ्रेड से कैसे पुनर्प्राप्त करें?
प्रदर्शन या पहचान उद्देश्यों के लिए थ्रेड आईडी तक पहुंचने का बढ़ावा तरीका क्या है?
इसलिए फ़ंक्शन के पैरामीटर के रूप में मैं बूस्ट :: थ्रेड :: आईडी को आउटपुट स्ट्रीम ऑपरेटर के साथ उपयोग करने के लिए पास करूंगा? यह सिवाय इसके कि क्या आप चाहते हैं कि मूल्य धाराओं या स्ट्रीम ऑपरेटरों के बिना उपयोग योग्य हो? – AJG85
बूस्ट का उपयोग करके :: this_thread :: get_id() थ्रेड वर्क फ़ंक्शन के भीतर से वास्तव में sprintf_s शैली स्वरूपण के साथ कोई पैरामीटर आवश्यक नहीं है। – AJG85