Forum: Programmieren allgemein
by jaenicke,
2. Jul 2017
Das eine hat mit dem anderen nichts zu tun außer dass es beides der Performance dienlich ist. Mit inline sorgst du dafür, dass statt des Assemblerbefehls Call mit Parameterübergabe usw. der Quelltext der aufgerufenen Funktion direkt an der Stelle des Aufrufs eingebaut wird.
Mit static gibt es kleinste Optimierungen durch die Tatsache, dass EAX nicht als Self-Pointer benötigt wird. Das sind aber...
Forum: Programmieren allgemein
by jaenicke,
2. Jul 2017
Das heißt jeder Thread aktualisiert gegebenenfalls mehrere Variablen hintereinander?
Dann würde ich eine Klasse daraus machen und schlicht mit TMonitor.Enter...TMonitor.Exit arbeiten.
Oder geht es immer nur um einzelne Werte?
Dann würde ich ebenfalls eine Klasse daraus machen (geht aber auch als Record) und Setter benutzen (inline deklarieren wegen der Performance), die sich dann um die...
Forum: Programmieren allgemein
by jaenicke,
2. Jul 2017
Wenn die Threads sauber implementiert sind, macht es keinen Sinn ohne konkreten Anlass einfach irgendetwas zu locken.
Forum: Programmieren allgemein
by jaenicke,
2. Jul 2017
Es ist abgesehen von der Performance auch der Codequalität nicht gerade zuträglich. Denn jeder Leser überlegt bei einem solchen Quelltext zuerst wie an solchen Stellen parallele Zugriffe erfolgen könnten.
Und umgekehrt denkt jemand vielleicht, dass der Code schon threadsicher ist, obwohl nur die eine Variable threadsicher verändert wird und der Rest nicht geschützt ist. Wenn ich so unseren...