AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Thread CriticalSection bzw TMultiReadExclusiveWriteSynchronizer pro Property
Thema durchsuchen
Ansicht
Themen-Optionen

Thread CriticalSection bzw TMultiReadExclusiveWriteSynchronizer pro Property

Ein Thema von norwegen60 · begonnen am 7. Nov 2019 · letzter Beitrag vom 18. Nov 2019
 
norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
526 Beiträge
 
Delphi 12 Athens
 
#12

AW: Thread CriticalSection bzw TMultiReadExclusiveWriteSynchronizer pro Property

  Alt 17. Nov 2019, 13:44
Es ist immer das selbe Problem. Wenn man seinen ganzen Sourcecode ausgeben würde, würde der Code zu kompliziert. Reduziert man ihn auf das (vermeintlich) Wesentliche, sieht der Beispielcode kompliziert aus.

In meinem Fall wird Wert in Wirklichkeit von der RS232 zurück geliefert, über AsyncPro.ComPortTriggerAvail erfasst und dort auch Wert gesetzt. D.h. Exceute bekommt davon gar nichts mit. Deshalb das Synchronize im Setter. Mit deiner Änderung würde Execute nichts mitbekommen wenn ich den Wert über den Button [Write into Wert] vom Main her ändere. Das würde dein Execute nicht erkennen und somit auch nichts an den Main zurück liefern. (In dem Fall simuliert der Button [Write into Wert] den PortTrigger.)

Mit dem Doppel-Lock in meinem Execute-Beispiel hast du recht. Tritt aus vorigen Gründen so im Echtcode aber nicht auf.
Das seltsame: Trotz des Doppellock im Exceute läuft mein ZIP-Beispiel ohne Probleme. Nur der Echtcode nicht. Ich bin dabei den Beispielcode mehr und mehr an meine Realcode ranzubringen.

Den Sleep habe ich so lang gemacht um simulieren zu können, dass sich die Liste auch mal schneller füllt als sie abgearbeitet wird und trotzdem kein Befehl verliert.

Darf Synchronize wirklich nur in Exceute aufgerufen werden
  Mit Zitat antworten Zitat
 

 

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 07:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz