पर बहुसंख्यक पहुंच को क्रमबद्ध करने के लिए कैसे करें मेरे पास मेरे कोड में कुछ स्थितियां हैं जहां विभिन्न धागे कार्य आइटम बना सकते हैं, विभिन्न कारणों से, नहीं किया जाना चाहिए समान्तर में। मैं यह सुनिश्चित करना चाहता हूं कि काम फीफो तरीके से किया जाए, भले ही इसमें से कौन सा धागा आता है। जावा में, मैं काम आइटम को एक थ्रेडेड ExecutorService
पर रखूंगा; सी # में बराबर है? मैंने Queue
और lock(){}
ब्लॉक का एक गुच्छा के साथ कुछ इकट्ठा किया है, लेकिन यह कुछ अच्छा होगा और परीक्षण का उपयोग करने में सक्षम होना अच्छा होगा।सी # जावा निष्पादक सेवा के लिए समकक्ष। NewSingleThreadExecutor(), या: संसाधन
अद्यतन: क्या किसी के पास सिस्टम के साथ अनुभव है। थ्रेडिंग। कार्य? क्या इस तरह की चीज के लिए इसका समाधान है? मैं एक मोनोटच ऐप लिख रहा हूं, इसलिए कौन जानता है कि मुझे इसका बैकपोर्ट संस्करण भी मिल सकता है, जिससे मैं काम कर सकता हूं, लेकिन कम से कम भविष्य के बारे में सोचने के लिए कुछ ऐसा होगा।
अद्यतन # 2 सी # जावा लाइब्रेरीज के बारे में मैं बात कर रहा हूँ के साथ अपरिचित डेवलपर के लिए, मूल रूप से मैं कुछ विभिन्न धागे काम आइटम बंद हाथ ऐसी है कि उन सभी काम आइटम किसी एकल थ्रेड पर चलाया जाएगा देता है कि (चाहते हैं जो कॉलिंग धागे में से कोई नहीं है)।
यदि काम को फीफो तरीके से किया जाना चाहिए, तो "विभिन्न" थ्रेड क्यों बनाएं? एक धागे पर काम क्यों नहीं करते? – Mark
@ मार्क विभिन्न कारणों के लिए विभिन्न धागे मौजूद हैं - कुछ काम यूआई गतिविधि द्वारा ट्रिगर किया गया है, कुछ नेटवर्क अनुरोधों के जवाब में, कुछ टाइमर द्वारा। –
इस प्रश्न के लिए: "संसाधन के लिए बहुसंख्यक पहुंच को क्रमबद्ध करने के लिए कैसे?" आपने स्वयं उत्तर दिया: अपने संसाधनों पर लॉक() कथन का उपयोग करें (या एक ऑब्जेक्ट जो उन्हें अक्षम करता है)। – BertuPG