るりまサーチ (Ruby 2.7.0)

最速Rubyリファレンスマニュアル検索!
2件ヒット [1-2件を表示] (0.011秒)
トップページ > バージョン:2.7.0[x] > クエリ:Mutex[x] > クエリ:lock[x] > 種類:クラス[x]

別のキーワード

  1. mutex_m lock
  2. mutex_m unlock
  3. mutex_m locked?
  4. mutex_m mu_lock
  5. mutex_m try_lock

ライブラリ

検索結果

Thread::Mutex (54166.0)

Mutex(Mutal Exclusion = 相互排他ロック)は共有データを並行アクセスから保護する ためにあります。Mutex の典型的な使い方は(m を Mutex オブジェクトとします):

Mutex(Mutal Exclusion = 相互排他ロック)は共有データを並行アクセスから保護する
ためにあります。Mutex の典型的な使い方は(m を Mutex オブジェクトとします):

m.lock
begin
# m によって保護されたクリティカルセクション
ensure
m.unlock
end

または、より簡単に

m.synchronize {
# m によって保護されたクリティカルセクション
}

Monitor (154.0)

スレッドの同期機構としてのモニター機能を提供するクラスです。 また同じスレッドから何度も lock できる Mutex としての機能も提供します。

スレッドの同期機構としてのモニター機能を提供するクラスです。
また同じスレッドから何度も lock できる Mutex としての機能も提供します。

MonitorMixin を include し、いくつかの別名を定義したクラスです。

=== 例

//emlist[消費者、生産者問題の例][ruby]{
require 'monitor'

buf = []
mon = Monitor.new
empty_cond = mon.new_cond

# consumer
Thread.start do
loop do
mon.synchronize do
empty...