none
Aus der MSDN Hotline: Port Daten mit einem separaten Thread Auslesen RRS feed

  • Allgemeine Diskussion

  • Hallo zusammen,

    heute wurde uns bei der MSDN Hotline unter anderem folgende Frage gestellt:
    Warum muss ich, wenn ich von einem seriellen Port Daten abhole, dies mit einem separaten Thread erledigen? Warum kann man das nicht aus der Basisanwendung (MainThread) machen?

    Unsere Antwort bzw. unser Lösungsvorschlag darauf war:
    Es ist nicht obligatorisch, die Daten in einem separaten Thread auszulesen. Das machen aber viele aus dem folgenden Grund:

    Das Auslesen von Daten an einem Port blockiert standardmäßig den Thread, der die Daten auslesen will, bis die verlangten Daten auch tatsächlich vorhanden sind. Das heißt, wenn Sie ReadLine() verwenden, dann blockiert der Aufruferthread solange, bis eine ganze Zeile von Daten ausgelesen werden kann. Und was passiert, wenn lange Zeit keine ganze Zeile von Daten da ist und man den MainThread verwendet hat? In diesem Fall reagiert die Anwendung dann in dieser Zeit nicht mehr.

    Ein anderer Grund wäre, dass das Abholen von Daten unabhängig von der Programm-Logik ist. D.h. während das Program die alten Daten bearbeitet, kann ein zweiter Thread die neuen Daten auslesen und diese dann in einer internen Datenstruktur speichern.

    Mehr Informationen zum Thema findet man auf den folgenden Adressen in der MSDN Online:

    1. MSDN: SerialPort..::.ReadLine-Methode
    2. MSDN: SerialPort-Klasse

    Viele Grüße,
    Atanas Dimitrov
    MSDN Hotline für MSDN Online Deutschland

    Disclaimer:
    Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
    Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die MSDN Hotline: http://www.msdn-online.de/Hotline 
    MSDN Hotline: Schnelle & kompetente Hilfe für Entwickler: kostenfrei!

    Es gelten für die MSDN Hotline und dieses Posting diese Nutzungsbedingungen, Hinweise zu Markenzeichen sowie die allgemein gültigen Informationen zur Datensicherheit sowie die gesonderten Nutzungsbedingungen für die MSDN Hotline.

    Mittwoch, 1. September 2010 15:32