में मैं यदि संभव हो तो एक फाइल करने के लिए, मेरे सी ++ परियोजना में अतुल्यकालिक और धागे की सुरक्षित प्रवेश करने के लिए एक रास्ता तलाश कर रहा हूँ। मैं वर्तमान में कार्य के लिए cerr
और clog
का उपयोग कर रहा हूं, लेकिन चूंकि वे सिंक्रोनस हैं, इसलिए निष्पादन हर बार कुछ लॉग होने पर रोक देता है। यह अपेक्षाकृत ग्राफिक्स-भारी ऐप है, इसलिए इस तरह की चीज काफी परेशान है।अतुल्यकालिक धागा सुरक्षित लॉगिंग सी ++
नई लकड़हारा अतुल्यकालिक आई/ओ का उपयोग करना चाहिए इन रुक जाता है से छुटकारा पाने के। थ्रेड-सुरक्षा भी वांछनीय होगी क्योंकि मैं जल्द ही कुछ बुनियादी मल्टीथ्रेडिंग जोड़ना चाहता हूं।
मैं एक एक फ़ाइल-प्रति-धागा दृष्टिकोण माना जाता है, लेकिन वह यह लॉग प्रबंध एक बुरा सपना हो जाएगा की तरह लग रहा था। कोई सुझाव?
एक म्युटेक्स नहीं मतलब होता है कि अगर एक धागा पहले से ही लिखने की कोशिश कर रहा है, यह स्पिन जब तक उसे अनलॉक किया गया था होगा? यह कैसे मदद करता है? – Electro
मैं निश्चित रूप से धारा में ऑब्जेक्ट के रूपांतरण में देरी नहीं करूँगा। इसे किसी अन्य धागे में रखना मतलब है कि इसे सिंक्रनाइज़ करना ... और यह नरक के रूप में चोट पहुंचाने की संभावना है। –
@ इलेक्ट्रो - स्पिन नहीं, लेकिन ब्लॉक। लेकिन यदि आप स्ट्रिंग प्रोसेसिंग नहीं कर रहे हैं तो यह कतार लोड करने के लिए बहुत छोटा अंतराल है। स्ट्रिंग प्रसंस्करण लॉगिंग थ्रेड द्वारा किया जाता है। @Matthieu, वास्तविक समय में स्ट्रिंग प्रसंस्करण करने से कतार लोड करते समय किसी भी म्यूटेक्स अवरोधन से बहुत अधिक दर्द होता है। –