Forum: Object-Pascal / Delphi-Language
C++
by Sir Rufo,
24. Jun 2015
Das Hauptproblem ist doch, dass man die Zugriffe auf eine gemeinsame Struktur nicht kontrollieren kann. Man muss im gesamten Programm höllisch aufpassen, da nicht irgendwie reinzugrätschen um dadurch die lustigsten Fehler zu erhalten: "Geht meistens, aber nicht kurz nach Sonnenuntergang!"
Das ist das Salz in der Suppe beim Multi-Threading!
Forum: Object-Pascal / Delphi-Language
C++
by Sir Rufo,
24. Jun 2015
Alle Funktionen, die z.B. mit den FormatSettings arbeiten sind nicht threadsafe, denn der interne Aufruf sieht so aus:
function FloatToStr(Value: Extended): string;
begin
Result := FloatToStr(Value, FormatSettings); // GLOBALE Variable FormatSettings wird benutzt
end;
Und eine globale Variable ist nun mal nicht threadsafe (es gibt da Ausnahmen, aber die wollen wir mal aussen vor...