AW: TThreadStringList
5. Aug 2013, 12:04
all diese Lösungen sind nur ein "bisschen" threadsicher, es kann trotzdem knallen.
schwer zu findende Fehler.
wenn jemand "Count" abfragt, auf Grund dieser Information mit der Liste arbeitet, kann es passieren, dass ein anderer Thread was aus der Liste löscht, der Count nicht mehr stimmt, und dann Murks rauskommt.
um Fehler zu vermeiden, empfehle ich, die Abfrage "Count" in threadsicheren Lösungen komplett zu vermeiden und gleich vorweg zu verhindern.
Die Funktion "Count" komplett deaktivieren, gar nicht erst bereitstellen, Funktion löschen.
Bei mir gibt's dann immer eine Funktion "Lock_AND_Count"
In dieser Funktion wird die Liste gelockt, und (danach der Count ermittelt) und dieser dann zurückgegeben.
Phantasie ist etwas, was sich manche Leute gar nicht vorstellen können.
|