更新が行われているときにハッシュテーブルから読み取ることは、スレッドセーフではありません。
ああ、どういう意味かわかります。代わりに@lock.synchronise
呼び出しをget
に移動する必要がありますか?
その後、 set
必要になるかどうかわかりませんか?
@constants
に対して読み取りと書き込みを行うため、両方の方法で必要になります。 どの状況でも、同じハッシュテーブルに同期アクセスすることはできません。 同時書き込みでは、読み取り専用操作は安全ではありません。
了解しました。変更をマージして、 @constants
を同期でラップしました。
インスピレーションをありがとう、 @ ioquatix !