Registriert seit: 18. Sep 2006
6 Beiträge
|
TMemoryStream und Zugriff durch Threads
18. Apr 2008, 22:15
Hallo zusammen,
wir arbeiten zur Zeit an einem größeren Projekt, in der es um die Ansteuerung einer Druckanlage geht. Hier haben wir zur Zeit folgendes Problem: In einer Windows - Anwendung werden Daten für die Anlage aufbereitet - die Daten werden in einem MemoryStream hinterlegt und anschliessend per serieller Schnittstelle, Netzwerk oder USB an die Steuereinheit gesandt. Funktioniert auch alles bis auf das ABER: der Prozess zur Aufarbeitung der Daten nimmt relativ viel Zeit in Anspruch, in der die Druckanlage wartet und wartet. Und wie wir alle wissen ist Zeit = Geld.
Bisher haben wir hier eine Notlösung: ein Timer prüft regelmäßig, ob schon ein paar Daten vorhanden sind und sendet diese dann blockweise (max. 1 MB) an den Drucker. Da der Timer das Programm unterbricht haben wir kein Problem die Position des MemoryStreams zu verändern, die Daten auszulesen und anschliessend die Position wieder an die Schreibposition zu setzen, so dass weitere Daten geschrieben werden können.
Nun soll dieser Prozess in Threads umgesetzt werden und hier stellt sich nun die Frage wie sich die Schreib- und Lesezugriffe zweier Threads auf ein MemoryStream verhalten.
Hat jemand so etwas schon mal umgesetzt? Anregungen für andere Lösungen (manchmal denkt man auch zu kompliziert)? Gibt es überhaupt Probleme?
Unsere Suche hier in den Foren war nicht wirklich erfolgreich - vielleicht haben wir auch falsch gesucht. Alles möglich.
Danke schon mal im Voraus.
|