Das Lesen aus einer Hash-Tabelle, während Aktualisierungen stattfinden, ist nicht threadsicher.
Ah, ich verstehe, was Sie meinen, sollten wir stattdessen den @lock.synchronise
Aufruf in get
?
Ich bin mir nicht sicher, ob wir es danach in set
mehr brauchen würden?
Sie benötigen es in beiden Methoden, da Sie @constants
lesen und schreiben. Sie können in keiner Situation synchronisierten Zugriff auf dieselbe Hashtabelle haben. Nur-Lese-Operationen sind bei gleichzeitigen Schreibvorgängen nicht sicher.
In Ordnung, ich habe eine Änderung zusammengeführt, um die @constants
in eine Synchronisierung einzuschließen.
Danke @ioquatix für die Inspiration!