種類
- インスタンスメソッド (5)
- クラス (2)
- 文書 (1)
- 特異メソッド (1)
クラス
- Monitor (2)
-
Thread
:: ConditionVariable (3)
モジュール
- MonitorMixin (1)
キーワード
-
NEWS for Ruby 2
. 5 . 0 (1) - broadcast (1)
-
new
_ cond (2) - signal (1)
-
wait
_ for _ cond (1)
検索結果
先頭5件
-
NEWS for Ruby 2
. 5 . 0 (78199.0) -
NEWS for Ruby 2.5.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...ms.org/2017/11/08/2.7.2-released.html
* https://blog.rubygems.org/2017/11/03/2.7.1-released.html
* https://blog.rubygems.org/2017/11/01/2.7.0-released.html
* https://blog.rubygems.org/2017/10/09/2.6.14-released.html
* https://blog.rubygems.org/2017/08/27/2.6.13-released.html... -
Thread
:: ConditionVariable . new -> Thread :: ConditionVariable (63607.0) -
状態変数を生成して返します。
状態変数を生成して返します。 -
Thread
:: ConditionVariable (54217.0) -
スレッドの同期機構の一つである状態変数を実現するクラスです。
スレッドの同期機構の一つである状態変数を実現するクラスです。
以下も ConditionVariable を理解するのに参考になります。
https://ruby-doc.com/docs/ProgrammingRuby/html/tut_threads.html#UF
=== Condition Variable とは
あるスレッド A が排他領域で動いていたとします。スレッド A は現在空いていない
リソースが必要になったので空くまで待つことにしたとします。これはうまくいきません。
なぜなら、スレッド A は排他領域で動いているわけですから、他のスレッドは動くことが
できません。リ... -
MonitorMixin
:: ConditionVariable (54145.0) -
MonitorMixin と Monitor のための 条件変数クラスです。 MonitorMixin#new_cond が返します。ユーザが MonitorMixin::ConditionVariable.new を直接呼ぶことはありません。
MonitorMixin と Monitor のための
条件変数クラスです。
MonitorMixin#new_cond が返します。ユーザが
MonitorMixin::ConditionVariable.new を直接呼ぶことはありません。 -
Monitor
# new _ cond -> MonitorMixin :: ConditionVariable (18655.0) -
モニターに関連付けられた、新しい MonitorMixin::ConditionVariable を生成して返します。
モニターに関連付けられた、新しい MonitorMixin::ConditionVariable を生成して返します。 -
MonitorMixin
# new _ cond -> MonitorMixin :: ConditionVariable (18655.0) -
モニターに関連付けられた、新しい MonitorMixin::ConditionVariable を生成して返します。
モニターに関連付けられた、新しい MonitorMixin::ConditionVariable を生成して返します。 -
Thread
:: ConditionVariable # broadcast -> self (9103.0) -
状態変数を待っているスレッドをすべて再開します。再開された スレッドは Thread::ConditionVariable#wait で指定した mutex のロックを試みます。
状態変数を待っているスレッドをすべて再開します。再開された
スレッドは Thread::ConditionVariable#wait
で指定した 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)
... -
Thread
:: ConditionVariable # signal -> self (9103.0) -
状態変数を待っているスレッドを1つ再開します。再開された スレッドは Thread::ConditionVariable#wait で指定した mutex のロックを試みます。
状態変数を待っているスレッドを1つ再開します。再開された
スレッドは Thread::ConditionVariable#wait
で指定した 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)
... -
Monitor
# wait _ for _ cond(cond , timeout) -> true (121.0) -
MonitorMixin::ConditionVariable 用の内部メソッドです。
MonitorMixin::ConditionVariable 用の内部メソッドです。
@param cond Thread::ConditionVariable を指定します。
@param timeout タイムアウトまでの秒数。指定しなかった場合はタイムアウトしません。
@return Ruby 1.9 の頃からのバグで常に true を返します。(16608)
//emlist[例][ruby]{
require 'monitor'
m = Monitor.new
cv = Thread::ConditionVariable.new
m.enter
m.wait_for_cond...