ライブラリ
クラス
- Monitor (16)
- Mutex (16)
- PStore (11)
-
PStore
:: DummyMutex (11) - Shell (33)
- Thread (16)
-
Thread
:: ConditionVariable (33) -
Thread
:: Mutex (72) - Tracer (11)
モジュール
- MonitorMixin (11)
-
Mutex
_ m (154) - ObjectSpace (11)
キーワード
- ConditionVariable (11)
- DummyMutex (11)
- LogDeviceMutex (2)
-
MUTEX
_ FOR _ THREAD _ EXCLUSIVE (5) - Monitor (11)
-
Mutex
_ m (11) -
NEWS for Ruby 2
. 0 . 0 (11) -
NEWS for Ruby 2
. 1 . 0 (11) -
NEWS for Ruby 2
. 5 . 0 (7) -
NEWS for Ruby 2
. 6 . 0 (6) -
NEWS for Ruby 3
. 0 . 0 (4) -
append
_ features (11) - broadcast (11)
-
count
_ tdata _ objects (11) -
debug
_ output _ exclusive _ unlock (3) -
debug
_ output _ lock (6) -
debug
_ output _ locked? (6) -
debug
_ output _ synchronize (6) -
debug
_ output _ try _ lock (6) -
debug
_ output _ unlock (6) -
define
_ aliases (11) - enter (11)
- exclusive (11)
-
extend
_ object (11) - lock (22)
- locked? (22)
-
mon
_ enter (16) - monitor (11)
-
mu
_ extended (11) -
mu
_ lock (11) -
mu
_ locked? (11) -
mu
_ synchronize (11) -
mu
_ try _ lock (11) -
mu
_ unlock (11) -
mutex
_ m (11) - new (22)
- owned? (11)
-
ruby 1
. 6 feature (11) - signal (11)
- sleep (11)
-
stdout
_ mutex (11) - synchronize (33)
-
try
_ lock (22) - unlock (22)
- wait (11)
検索結果
先頭5件
-
Mutex
_ m . define _ aliases(klass) -> Class (3000.0) -
ユーザが直接、使うことはありません。
ユーザが直接、使うことはありません。 -
Mutex
_ m . extend _ object(module) -> Module (3000.0) -
ユーザが直接、使うことはありません。
ユーザが直接、使うことはありません。
@see Module#extend_object -
PStore
:: DummyMutex # synchronize { . . . } -> object (3000.0) -
与えられたブロックを評価するだけで何もしません。
与えられたブロックを評価するだけで何もしません。 -
Thread
:: ConditionVariable # wait(mutex , timeout = nil) -> self (145.0) -
mutex のロックを解放し、カレントスレッドを停止します。 Thread::ConditionVariable#signalまたは、 Thread::ConditionVariable#broadcastで送られたシグナルを 受け取ると、mutexのロックを取得し、実行状態となります。
...
mutex のロックを解放し、カレントスレッドを停止します。
Thread::ConditionVariable#signalまたは、
Thread::ConditionVariable#broadcastで送られたシグナルを
受け取ると、mutexのロックを取得し、実行状態となります。
@param mutex Thread::Mutex......
mutex のロックを解放し、カレントスレッドを停止します。
Thread::ConditionVariable#signalまたは、
Thread::ConditionVariable#broadcastで送られたシグナルを
受け取ると、mutexのロックを取得し、実行状態となります。
@param mutex Mutex オブ... -
Shell
. debug _ output _ exclusive _ unlock { . . . } -> Mutex | nil (107.0) -
@todo
...@todo
@see Mutex#exclusive_unlock... -
Shell
. debug _ output _ lock -> Mutex (107.0) -
@todo
...@todo
@see Mutex#lock......@todo
@see Thread::Mutex#lock... -
Shell
. debug _ output _ unlock -> Mutex | nil (107.0) -
@todo
...@todo
@see Mutex#unlock......@todo
@see Thread::Mutex#unlock... -
NEWS for Ruby 2
. 0 . 0 (84.0) -
NEWS for Ruby 2.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...bject.const_get("Foo::Bar::Baz")
//}
* Mutex
* 追加(実験的): Mutex#owned? mutex が現在のスレッドに所持されているかどうかを返します
* 非互換:
* Mutex#lock, Mutex#unlock, Mutex#try_lock, Mutex#synchronize, Mutex#sleep
はトラップハンド......ラの中では使えなくなりました。そのようなときは ThreadError が発生します
* Mutex#sleep may spurious wakeup. Check after wakeup.
* NilClass
* 追加: NilClass#to_h 空のハッシュを返します
* ObjectSpace::WeakMap
* 弱い参照を保持するた......_clone, Object#initialize_dup
* private になりました
* Thread#join, Thread#value
* 上を参照
* Mutex#lock, Mutex#unlock, Mutex#try_lock, Mutex#synchronize, Mutex#sleep
* 上を参照
=== 標準添付ライブラリの更新 (優れたもののみ)
* cgi
* HTML5 用... -
Thread
:: ConditionVariable (66.0) -
スレッドの同期機構の一つである状態変数を実現するクラスです。
...例です。
mutex = Mutex.new
cv = ConditionVariable.new
a = Thread.start {
mutex.synchronize {
...
while (条件が満たされない)
cv.wait(mutex)
end
...
}
}
b = Thread.start {
mutex.synchronize......@mutex = Mutex.new
@q = []
end
def count
@q.size
end
def enq(v)
@mutex.synchronize{
@full.wait(@mutex) if count == @max
@q.push v
@empty.signal if count == 1
}
end
def deq
@mutex.synchronize{
@empty.wait(@mutex)... -
monitor (58.0)
-
スレッドの同期機構としてのモニター機能を提供するクラスです。 また同じスレッドから何度も lock できる Mutex としての機能も提供します。
...じスレッドから何度も lock できる Mutex としての機能も提供します。
モニターとは、一つの Mutex とそれに関連付けられた複数の
条件変数から構成された、スレッドの同期機構です。
Mutex と 条件変数によって同等の機能を......保証
していることです。
monitor は以下のような Mutex としての機能も提供します。
* lock の持ち主がスレッドである Mutex / 何度も lock できる Mutex
* lock したスレッドを Mutex 側が覚えていて
* そのスレッドがもう一度 lo......していたら ただ yield するだけ (lock/unlockもしない)
* unlock はそのスレッドだけができる
30447 より。
よりプリミティブな同期機構として、
Mutex、Thread::ConditionVariable も参照してください。
=== 参照
* 6829
* 30447
* 30449......ていることです。
monitor は以下のような Thread::Mutex としての機能も提供します。
* lock の持ち主がスレッドである Mutex / 何度も lock できる Mutex
* lock したスレッドを Mutex 側が覚えていて
* そのスレッドがもう一度 lock......たら ただ yield するだけ (lock/unlockもしない)
* unlock はそのスレッドだけができる
30447 より。
よりプリミティブな同期機構として、
Thread::Mutex、Thread::ConditionVariable も参照してください。
=== 参照
* 6829
* 30447
* 30449... -
Thread
:: ConditionVariable # broadcast -> self (46.0) -
状態変数を待っているスレッドをすべて再開します。再開された スレッドは Thread::ConditionVariable#wait で指定した mutex のロックを試みます。
...ait
で指定した mutex のロックを試みます。
@return 常に self を返します。
//emlist[例][ruby]{
mutex = Mutex.new
cv = ConditionVariable.new
flg = true
3.times {
Thread.start {
mutex.synchronize {
puts "a1"
while (flg)
cv.wait(mutex)
end......puts "a2"
}
}
}
Thread.start {
mutex.synchronize {
flg = false
cv.broadcast
}
}
sleep 1
# => a1
# => a1
# => a1
# => a2
# => a2
# => a2
//}... -
Thread
:: ConditionVariable # signal -> self (46.0) -
状態変数を待っているスレッドを1つ再開します。再開された スレッドは Thread::ConditionVariable#wait で指定した mutex のロックを試みます。
...ait
で指定した mutex のロックを試みます。
@return 常に self を返します。
//emlist[例][ruby]{
mutex = Mutex.new
cv = ConditionVariable.new
flg = true
3.times {
Thread.start {
mutex.synchronize {
puts "a1"
while (flg)
cv.wait(mutex)
end......puts "a2"
}
}
}
Thread.start {
mutex.synchronize {
flg = false
cv.signal
}
}
sleep 1
# => a1
# => a1
# => a1
# => a2
//}...