Forum: Win32/Win64 API (native code)
Delphi
by TStringlist,
2. Jun 2004
Danke fürs nochmalige Bestätigen, und zwar auch für diesbezüglich etwas komplexere bzw. empfindlichere Konstruktionen wie Multiprozessor-PCs (wenn ich das richtig verstanden habe).
Forum: Win32/Win64 API (native code)
Delphi
by TStringlist,
2. Jun 2004
Also das interpretiere ich dann mal so, dass ein solches Read dann zwar auch vom Ändern eines anderen Threads unterbrochen werden kann, aber eben nicht so, dass der eigentliche Variable-Wert dabei quasi in der Mitte zersäbelt würde. Der danach gelesene Variablewert ist dann entweder derjenige vor dem Zugriff des schreibenden Threads oder der, der sich nach dem Schreibzugriff erst ergeben hat......
Forum: Win32/Win64 API (native code)
Delphi
by TStringlist,
1. Jun 2004
aber nicht, wenn beide Threads nur lesend zugreifen, oder? Dann dürfte ja ohnehin kein Fehler eintreten, egal ob ein solcher Lesevorgang jetzt in einem einzigen (atomaren) Arbeitsakt ausgeführt würde oder dieser durch einen event. zweiten Lesevorgang eines anderen Threads unterbrochen werden kann ...weil ja die Variable auch durch diesen zweiten Lesevorgang unverändert bliebe und damit auch das...
Forum: Win32/Win64 API (native code)
Delphi
by TStringlist,
1. Jun 2004
@Meflin
woher weiß aber der Thread (der der jetzt schreiben möchte), dass ein anderer gerade liest, wenn dieser andere das wiederum nicht durch das Benutzen irgendeiner dieser speziellen Funktionen (oder sonst irgendwie) bekannt gemacht hat?
@woki
...und wann ist ein Lesevorgang atomar?
In meinem Fall ging ich bei der so 'WatchDog-Thread'-mäßig jeweils zu prüfende Variablen von einer...
Forum: Win32/Win64 API (native code)
Delphi
by TStringlist,
1. Jun 2004
@Melfin
ich fragte nur, weil für ein nur Lesen im SpinLock-Tutorial extra nochmal die InterlockedExchanged-Funktion benutzt wurde, ...mir selbst diesbezüglich allerdings auch nicht absolut sicher war, ob es aber andrerseits dann ganz ohne Interlocked auch tatsächlich geht (...was sich einem dann aber aus den besagten Gründen wieder irgendwie aufdrängt).
Du glaubst also auch, dass ein nur...
Forum: Win32/Win64 API (native code)
Delphi
by TStringlist,
1. Jun 2004
Hallo,
bei einem kleinen Trip durchs Thema 'Threads' bin ich gerade bei den Interlocked-Funktionen angekommen ...und hätte da jetzt mal folgende kurze Frage: Warum gibt es hier eigentlich keine derartige Funktion mit der man eine von mehreren Threads gleichzeitig genutzte Variable einfach nur Auslesen kann, ...also ohne sie auch jedesmal immer mit verändern zu müssen.
Es fällt nämlich auf,...