Faraday: #get ist nicht threadsicher

Erstellt am 26. Okt. 2019  ·  4Kommentare  ·  Quelle: lostisland/faraday

https://github.com/lostisland/faraday/blob/d5eaa4ffe04b1cba00691b1cc2b2541e91093bf1/lib/faraday/adapter_registry.rb#L14 -L26

Das Lesen aus einer Hash-Tabelle, während Aktualisierungen stattfinden, ist nicht threadsicher.

bug

Alle 4 Kommentare

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!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen