मैं केवल कुछ कोड की समीक्षा कर रहा हूं जिसे मैंने सीएफ 2.0 पर सी # सीरियल पोर्ट के साथ संवाद करने के लिए लिखा था। मैं DataReceived ईवेंट का उपयोग नहीं कर रहा हूं क्योंकि यह विश्वसनीय नहीं है। MSDN states that:सीरियल पोर्ट संचार: सीरियल पोर्ट डेटा का उपयोग कर बनाम सीरियल पोर्ट बनाम
DataReceived घटना gauranteed हर बाइट प्राप्त के लिए उठाया जा नहीं है। पर कितना डेटा छोड़ा गया है यह निर्धारित करने के लिए बाइट्स टू रीड प्रॉपर्टी का उपयोग करें।
मैं पोर्ट को पढ़ने() के साथ मतदान करता हूं और एक प्रतिनिधि होता है जो डेटा को पढ़ते समय संसाधित करता है। मैंने कहीं भी पढ़ा है कि "मतदान खराब है" (कोई स्पष्टीकरण नहीं दिया गया)।
कोई विचार क्यों मतदान खराब हो सकता है? सामान्य थ्रेडिंग सावधानी से अलग - मेरे पास एक अलग धागा (पृष्ठभूमि धागा) है जो बंदरगाह को चुनाव करता है, डेटा पढ़ने के बाद धागा बाहर निकलता है, सभी परीक्षण और अच्छी तरह से काम करता है।
बिल्कुल, यह मेरा अनुभव भी है। – Andy