別のキーワード
種類
- インスタンスメソッド (5)
- クラス (2)
- 文書 (2)
- 特異メソッド (1)
クラス
- Monitor (2)
-
Thread
:: ConditionVariable (3)
モジュール
- MonitorMixin (1)
キーワード
- ConditionVariable (2)
-
NEWS for Ruby 2
. 5 . 0 (1) -
NEWS for Ruby 3
. 0 . 0 (1) - broadcast (1)
-
new
_ cond (2) - signal (1)
-
wait
_ for _ cond (1)
検索結果
先頭5件
-
Thread
:: ConditionVariable . new -> Thread :: ConditionVariable (63607.0) -
状態変数を生成して返します。
状態変数を生成して返します。 -
Monitor
# new _ cond -> MonitorMixin :: ConditionVariable (18655.0) -
モニターに関連付けられた、新しい MonitorMixin::ConditionVariable を生成して返します。
モニターに関連付けられた、新しい MonitorMixin::ConditionVariable を生成して返します。 -
MonitorMixin
# new _ cond -> MonitorMixin :: ConditionVariable (18655.0) -
モニターに関連付けられた、新しい MonitorMixin::ConditionVariable を生成して返します。
モニターに関連付けられた、新しい MonitorMixin::ConditionVariable を生成して返します。 -
NEWS for Ruby 3
. 0 . 0 (18217.0) -
NEWS for Ruby 3.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...NEWS for Ruby 3.0.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリス......eywords.
16166
//emlist[][ruby]{
pr = proc{|*a, **kw| [a, kw]}
pr.call([1])
# 2.7 => [[1], {}]
# 3.0 => [[[1]], {}]
pr.call([1, {a: 1}])
# 2.7 => [[1], {:a=>1}] # and deprecation warning
# 3.0 => a=>1}, {}]
//}
* Arguments forwarding (`...`) now supports leading arguments.
16378
//eml......7260
* `in` is changed to return `true` or `false`. 17371
//emlist{
0 => a
p a #=> 0
{b: 0, c: 1} => {b:}
p b #=> 0
//}
//emlist{
# version 3.0
0 in 1 #=> false
# version 2.7
0 in 1 #=> raise NoMatchingPatternError
//}
* Find-pattern is added. [EXPERIMENTAL]
16828
//emlist{
case [... -
Thread
:: ConditionVariable (18217.0) -
スレッドの同期機構の一つである状態変数を実現するクラスです。
スレッドの同期機構の一つである状態変数を実現するクラスです。
以下も ConditionVariable を理解するのに参考になります。
https://ruby-doc.com/docs/ProgrammingRuby/html/tut_threads.html#UF
=== Condition Variable とは
あるスレッド A が排他領域で動いていたとします。スレッド A は現在空いていない
リソースが必要になったので空くまで待つことにしたとします。これはうまくいきません。
なぜなら、スレッド A は排他領域で動いているわけですから、他のスレッドは動くことが
できません。リ... -
NEWS for Ruby 2
. 5 . 0 (18199.0) -
NEWS for Ruby 2.5.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...はext/openssl/History.mdの"Version 2.1.0"セクションにあります。
* pathname
* Pathname#glob を追加 7360
* psych
* Psych 3.0.2 に更新しました
* Convert fallback option to a keyword argument
https://github.com/ruby/psych/pull/342
* Add :symbolize... -
MonitorMixin
:: ConditionVariable (18145.0) -
MonitorMixin と Monitor のための 条件変数クラスです。 MonitorMixin#new_cond が返します。ユーザが MonitorMixin::ConditionVariable.new を直接呼ぶことはありません。
MonitorMixin と Monitor のための
条件変数クラスです。
MonitorMixin#new_cond が返します。ユーザが
MonitorMixin::ConditionVariable.new を直接呼ぶことはありません。 -
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...