AW: Die Frage aller Fragen (Sammlung): „Ist das Thread-Safe?“
Zitat:
Delphi-Quellcode:
schon gestartet? Dann ist der Event noch nicht Created!
Inherited Create(false)
Zitat:
Zitat:
Zitat:
Mavarik |
AW: Die Frage aller Fragen (Sammlung): „Ist das Thread-Safe?“
Zitat:
|
AW: Die Frage aller Fragen (Sammlung): „Ist das Thread-Safe?“
Zitat:
Zitat:
|
AW: Die Frage aller Fragen (Sammlung): „Ist das Thread-Safe?“
Wahrscheinlich verbrauchen sauber behandelte Exceptions zuviel Strom :lol:
|
AW: Die Frage aller Fragen (Sammlung): „Ist das Thread-Safe?“
Zitat:
|
AW: Die Frage aller Fragen (Sammlung): „Ist das Thread-Safe?“
Zitat:
Delphi-Quellcode:
für Methoden) vermisse. In C# bubbelt auch alles immer weiter nach oben (wie in Delphi), oder?
throws
Aber irgendwie kommen wir vom ursprünglichen Thema ab... |
AW: Die Frage aller Fragen (Sammlung): „Ist das Thread-Safe?“
Zitat:
Zitat:
Meiner Meinung nach kann man über Exceptions mal wieder einen Fred aufmachen. Aber hier ist, dank Günther, dem Schönen, auch von meiner Seite aus Schluss. |
AW: Die Frage aller Fragen (Sammlung): „Ist das Thread-Safe?“
Zitat:
PS Wenn du so eine Angst davor hast, dann leg die Erzeugung des Events einfach vor das
Delphi-Quellcode:
. :)
inherited Create( False );
Delphi-Quellcode:
Der Thread wird erst nach dem kompletten Abarbeiten des Destructors Constructors (Danke an Uwe) gestartet (das ist absolut gesichert!). Und das auch nicht direkt sofort, sondern auch erst nach einer gewissen Dauer, weil der Thread erstmal warten muss, bis er an der Reihe ist.
constructor TMyThread.Create;
begin E_Event := TEvent.Create(NIL,false,false,''); FRunning := false; inherited Create( False ); // nein, nicht schlafen :) FreeOnTerminate := false; end; Führe einfach mal dieses hier aus und wundere Dich ;)
Delphi-Quellcode:
type
TMyThread = class( TThread ) protected procedure Execute; override; end; procedure TMyThread.Execute; begin inherited; end; procedure ThreadTest; var LThread : TThread; LCount : Int64; begin LCount := 0; LThread := TMyThread.Create( False ); try while not LThread.Started do Inc( LCount ); finally LThread.Free; end; Writeln( 'Gestartet nach ', LCount, ' Loops' ); end; |
AW: Die Frage aller Fragen (Sammlung): „Ist das Thread-Safe?“
Zitat:
|
AW: Die Frage aller Fragen (Sammlung): „Ist das Thread-Safe?“
[QUOTE=Mavarik;1264399]
Zitat:
Woher nimmst Du die Behauptung, dass die Klasse intern das sleep nicht mit Waitfor realisiert? Du kannst ihn doch programmieren, wie Du Lust hast, und den FunctionCall auch erst nach einem einkommenden Event generieren. Wenn ich aber ständig eine Response brauche, weil ständig Dinge getan/geprüft werden müssen, , dann muss er wohl in der Tat auch ständig bereit sein, um gewisse Dinge zu erledigen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14: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