相互排他ロック。
成果物
情報源
Thread::Mutex
Mutex(Mutal Exclusion = 相互排他ロック)は共有データを並行アクセスから保護するためにあります。Mutex の典型的な使い方は(m を Mutex オブジェクトとします):
m.lock begin # m によって保護されたクリティカルセクション ensure m.unlock end
または、より簡単に
m.synchronize {
# m によって保護されたクリティカルセクション
}
メンバ抜粋
特異メソッド
new
インスタンスメソッド
lock locked? owned? sleep synchronize try_lock unlock
new
,synchronize
p Thread::Mutex.new
m = Thread::Mutex.new m.synchronize { p 'mutex' }
synchronize
はブロックの前後でlock
とunlock
をする。
対象環境
- Raspbierry pi 4 Model B
- Raspberry Pi OS buster 10.0 2020-08-20 ※
- bash 5.0.3(1)-release
- Ruby 3.0.2
$ uname -a Linux raspberrypi 5.10.52-v7l+ #1441 SMP Tue Aug 3 18:11:56 BST 2021 armv7l GNU/Linux