Zitat von
der_boss:
danke, olli, aber leider kann ich nicht suspend benutzen, da der eine befehl erst vollständig abgearbeitet werden muss.
Wieso? Der Thread legt sich doch selber schlafen. Er ist also wirklich erstmal eine Runde durchgegangen und dann legt er sich selber schlafen. Also kannst du es doch so einrichten, daß vor dem Suspend aber innerhalb der Schleife alles erledigt wird.
Zitat von
der_boss:
wie würdet ihr denn dem einen thread, der schneller ist, von einem langsameren thread ein datenpaket konfliktfrei übermitteln, ohne dass der langsamere dazu angehalten oder synchronisiert werden muss?
Ohne Synchronisation geht das nicht. Selbst bei einem DWORD-Wert solltest du synchronisieren, das geht aber auch leichter als über Critical Sections oder so.
Zitat von
der_boss:
der langsamere (Messung) soll weiterlaufen, ohne unterbrechung, während der schnellere fix die grafik aktualisiert. dazu muss ich ein paket (array of word) übergeben.
Benutz' eine Art Ringpuffer. Während der schnellere Thread immer wieder den aktuell unbenutzen Ringpufferteil ausliest, kann der langsamere Thread den nächsten Ringpufferteil beschreiben.
@BlackJack: a.) geht auch das nicht ohne Synchronisation, b.) bitte keine Timer. Wenn er schon Threads benutzt, dann auch konsequent. Da wären Timer nur Ressourcenverschwendung.