AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TMemoryStream und Zugriff durch Threads

Ein Thema von knulli · begonnen am 18. Apr 2008 · letzter Beitrag vom 19. Apr 2008
Antwort Antwort
knulli

Registriert seit: 18. Sep 2006
6 Beiträge
 
#1

TMemoryStream und Zugriff durch Threads

  Alt 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.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: TMemoryStream und Zugriff durch Threads

  Alt 19. Apr 2008, 10:57
So bald zwei Threads konkurierend auf eine Ressource zugreifen, müssen die Zugriffe Synchronisiert werden mittels CriticalSections. Siehe dazu mein Threading Tutorial: http://delphitutorials.michael-puff.de
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
knulli

Registriert seit: 18. Sep 2006
6 Beiträge
 
#3

Re: TMemoryStream und Zugriff durch Threads

  Alt 19. Apr 2008, 13:54
Vielen Dank für den Hinweis und das Tutorial - sehr anschaulich und weiterzuempfehlen. Steckt bestimmt viel Arbeit drin.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz