![]() |
Re: Multi/Dualthreading - Laufzeit: Strings Thread -> VCL
Zitat:
Ich dachte an so was:
Code:
wenn <Critical>.KannBetreten dann
beginne <Critical>.Betrete; ... <Critical>.Verlasse; beende Zitat:
MfG xZise Edit #1 PS: Es gibt die Funktion "TryEnter". Scheiße! Warum funktioniert die Hilfe nicht. Tuts damit? Und reicht dann das?
Delphi-Quellcode:
procedure TSearchThread.SetFile(AFile: string);
begin if FCritical.TryEnter then begin FFile := AFile; FCritical.Leave; end; end; |
Re: Multi/Dualthreading - Laufzeit: Strings Thread -> VCL
Zitat:
|
Re: Multi/Dualthreading - Laufzeit: Strings Thread -> VCL
Immer, bei Enter und Leave?
MfG xZise PS: Ich habe mich noch nicht so sehr mit Multi-/Dualthreading beschäftigt :) |
Re: Multi/Dualthreading - Laufzeit: Strings Thread -> VCL
Zitat:
|
Re: Multi/Dualthreading - Laufzeit: Strings Thread -> VCL
So, ich melde mich auch mal wieder: Ich finde es irgendwie aus Prinzip besser, dem Hauptthread zu signalisieren, dass er etwas tun soll, als dass dieser ständig prüft, ob es neue Daten gibt.
Die neue SetFile-Implementierung würde ich umbenennen und nicht als Zugriffsroutine für das Property verwenden. Es widerspricht irgendwie dem Sinn eines Setters, wenn das Feld nur manchmal gesetzt wird. Das war mein kurzer Kommentar zum Thema "saubere Programmierung". :) Um eines klarzustelen: Dieser Beitrag sollte nicht als "Meckerei" an Dax' Vorschlag verstanden werden. Es steht natürlich jedem frei, die Methode zu verwenden, die er für besser hält. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:47 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 by Thomas Breitkreuz