タグ

ブックマーク / www.techscore.com (1)

  • I18n に見る複数のオプションをスレッドセーフにする方法 | TECHSCORE BLOG | TECHSCORE BLOG

    こんにちは、鈴木です。 Rails でリクエストごとにロケールを変更するには、リクエストごとに (before_action などで) I18n.locale に :ja や :en などを代入します。 I18n ってスレッドセーフ? 先日、「Rails4 のロケールってスレッドセーフだよね?」「デフォルトでスレッドセーフになったから大丈夫なはずだよね?」という話がありました。 結論から言うと、I18n はスレッドセーフに作られています。 スレッドセーフにするには? そもそも Ruby でスレッドセーフなコードを書くときにやるべきことを振り返っておきましょう。 スレッドセーフにするには、以下のいずれかの方法をとります。 複数スレッドで共有するリソースに対して Mutex  で保護する。 スレッドローカル変数を用いて、スレッド間でリソースを共有しないようにする。 I18n のスレッドセーフな

  • 1