るりまサーチ

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

別のキーワード

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

ライブラリ

キーワード

検索結果

Mutex (38049.0)

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

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

m.lock
begin
# m によって保護されたクリティカルセクション
ensu...
...Alias of Thread::Mutex...

Thread::Mutex (18049.0)

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

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

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

Logger::LogDevice::LogDeviceMutex (6001.0)

ログの出力先ファイルを同期するためのクラスです。

ログの出力先ファイルを同期するためのクラスです。

@see MonitorMixin

PStore::DummyMutex (6001.0)

ダミーのミューテックス。このクラスを使ってもスレッドセーフにはなりません。

ダミーのミューテックス。このクラスを使ってもスレッドセーフにはなりません。

Thread::ConditionVariable (67.0)

スレッドの同期機構の一つである状態変数を実現するクラスです。

...例です。

mutex
= Mutex.new
cv = ConditionVariable.new

a = Thread.start {
mutex
.synchronize {
...
while (条件が満たされない)
cv.wait(mutex)
end
...
}
}

b = Thread.start {
mutex
.synchronize...
...thread'

class
TinyQueue
def initialize(max=2)
@max = max
@full = ConditionVariable.new
@empty = ConditionVariable.new
@mutex = Mutex.new
@q = []
end

def count
@q.size
end

def enq(v)
@mutex.synchronize{
@full.wait(@mutex) if c...
...ount == @max
@q.push v
@empty.signal if count == 1
}
end

def deq
@mutex.synchronize{
@empty.wait(@mutex) if count == 0
v = @q.shift
@full.signal if count == (@max - 1)
v
}
end

alias send enq
alias recv deq
end...

絞り込み条件を変える

Monitor (35.0)

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

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

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

=== 例

//emlist[...
...equire 'monitor'
mon = Monitor.new
mon.synchronize {
mon.synchronize {
}
}
//}

Thread::Mutex ではデッドロックになります。

//emlist[Mutex でデッドロックになる例][ruby]{
mx = Mutex.new
mx.synchronize {
mx.synchronize {
}
}
# => deadlock; recursive locking (ThreadErro...