マルチスレッド
クラス変数つかうな。もちろんグローバル変数もつかうな
スレッドローカルも使うな
クラスインスタンス変数つかうならイミュータブルっぽい雰囲気をかもしだせ
の3点だけコードレビューでチェックしてれば、実際のスレッドの処理は Puma がよしなにやってくれるので、レールズエンジニアがスレッドセーフを意識する機会はほとんどないですね
minitest の parallel runner を thread ベースで走らせまくると、ある程度 thread-safe でないところを見つけることはできます。