मेरे पास एक ऐसा एप्लिकेशन है जो एकाधिक धागे को जन्म देगा। हालांकि, मुझे लगता है कि धागे डेटा तक पहुंचने में कोई समस्या हो सकती है जो उन्हें नहीं होना चाहिए। मैं अपने साथ इतना बेकार थ्रेडिंग के लिए अपेक्षाकृत नया हूँ।विभिन्न धागे के लिए डेटा संरचनाएं पास करना
यहाँ थ्रेडेड आवेदन की संरचना (भोंडापन के लिए खेद है) है:
MainThread
/ \
/ \
/ \
Thread A Thread B
/ \ / \
/ \ / \
/ \ / \
Thread A_1 Thread A_2 Thread B_1 Thread B_2
प्रत्येक के तहत धागा (जो कई हो सकता है) लिखित, वहाँ केवल दो धागे हो जाएगा और वे क्रमिक रूप से की निकाल दिया जाता है। मेरे पास जो मुद्दा है, मैं पूरी तरह से सुनिश्चित नहीं हूं कि इन धागे में डेटास्ट्रक्चर में कैसे पास किया जाए।
तो, डेटास्ट्रक्चर मेन थ्रेड में बनाया गया है, उस थ्रेड के लिए निर्दिष्ट लेटर्ड थ्रेड (थ्रेड ए, आदि) में संशोधित किया जाएगा और फिर उस डेटास्ट्रक्चर से सदस्य चर को Letter_Numbered थ्रेड पर भेजा जाएगा।
वर्तमान में, लिखित धागा वर्ग एक सदस्य चर है और जब वर्ग का निर्माण किया है, mainthread से आंकड़ा संरचना संदर्भ द्वारा में पारित हो जाता है, प्रतिलिपि निर्माता लागू तो लिखित धागा इसके साथ खेलने के लिए स्वयं की प्रतिलिपि है है।
लेटरर्ड क्रमांकित धागा बस लेटर्ड थ्रेड के भीतर डेटा संरचना से एक स्ट्रिंग चर में ले जाता है। मेरा सवाल है, क्या यह स्वीकार्य है? क्या यह सुनिश्चित करने का एक बेहतर तरीका है कि प्रत्येक लेटर्ड थ्रेड के साथ खेलने के लिए अपनी डेटा संरचना हो जाए?
कुछ हद तक खराब स्पष्टीकरण के लिए खेद है, कृपया टिप्पणियां छोड़ें और मैं स्पष्ट करने की कोशिश करूंगा।
संपादित करें: तो मेरे लेटर्ड थ्रेड कन्स्ट्रक्टर को डेटा संरचना का VALUE लेना चाहिए, संदर्भ नहीं?
शायद हमें जो कुछ हासिल करना है, उसके बारे में हमें बताएं। मैं दो अनुक्रमिक धागे के उपयोग से थोड़ा परेशान हूं - क्या आपका मतलब है कि दूसरा शुरू होता है जब दूसरा खत्म होता है? अच्छी तरह से व्यक्त प्रश्न – mdma
+1: आपका मतलब है lettered_numbered? यदि ऐसा है तो हाँ, लेटर्ड थ्रेड पहले lettered_numbered से आग लगती है, इसे समाप्त होने (या त्रुटि) के लिए इंतजार कर रही है और दूसरे lettered_numbered से आग लगती है। क्या उससे मदद हुई? –
@mdma के लिए – Robb