![]() |
AW: Multithreading und Globale Funktionen
Zitat:
Auch High() wird dir immer das richtige Ergebnis zurückliefern. Wäre auch schlimm wenn nicht ;) Zitat:
|
AW: Multithreading und Globale Funktionen
Zitat:
Code:
... in Sysutils.pas (RAD Studio 2009). Gibt's da irgendwelche Compiler-Magic oder wie weiß die aufgerufene Funktion über die Länge bescheid? Läuft das wie bei Strings? Habe mir nur noch nicht genügend Gedanken drüber gemacht, daher die Frage.
TBytes = array of Byte;
|
AW: Multithreading und Globale Funktionen
Danke für den Tipp mit BinToHex!
Das habe ich bis jetzt noch nie verwendet :oops: Ich habe mir die Strings halt immer so aus den TBytes erzeugt. Danke auch an jfheins! |
AW: Multithreading und Globale Funktionen
Zitat:
|
AW: Multithreading und Globale Funktionen
Zitat:
Muß wohl wieder mal Delphiprogramme reversen. Die kommen einem im natürlichen Habitat so selten unter ... muß´ also vorher selber schreiben und dann reversen :zwinker: |
AW: Multithreading und Globale Funktionen
Ich habe es nun auch live getestet.
3 Threads die die Funktion gleichzeitig nutzen. Ohne Critical Section. Keine Probleme! |
AW: Multithreading und Globale Funktionen
Funktionen und Prozeduren sind von Haus immer threadsafe, weil alle lokalen Variablen bei jedem Aufruf neu erzeugt werden. Wäre dem nicht so, könnte man auch keine rekursiven Aufrufe von Proc und Funk machen.
Das Problem sind immer nur die Daten auf die dabei zugegriffen wird. Also alles was nicht lokal zur Proc/Func gehört kann potentiell kritisch sein. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:23 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