こんにちは。
はい、Rubyでは標準ライブラリに含まれるMutexクラスを使うことで排他制御が可能です。
複数のスレッドが同じリソースへ同時にアクセスすると、値の破損や処理結果の不安定化といった「競合」が発生します。
これを防ぐためにMutexを利用すると、一度に一つのスレッドだけが処理を実行できるよう制御できます。
使い方はlockとunlockで明示的に制御する方法と、synchronizeを使って安全にまとめる方法があります。
特にsynchronizeは処理の前後で自動的にロックとアンロックを行うため、書き忘れによる不具合を防げます。
例えばログファイルへの書き込みやカウンターの更新など、同時アクセスされると困る処理でよく利用されます。
RubyのMutexは追加ライブラリ不要で利用でき、並行処理を安全に行うための基本的な仕組みとして非常に有用です。