るりまサーチ (Ruby 2.5.0)

最速Rubyリファレンスマニュアル検索!
9件ヒット [1-9件を表示] (0.158秒)
トップページ > クエリ:I[x] > クエリ:E[x] > クエリ:cond[x] > ライブラリ:ビルトイン[x] > バージョン:2.5.0[x]

別のキーワード

  1. _builtin to_i
  2. fiddle to_i
  3. matrix elements_to_i
  4. csv to_i
  5. matrix i

クラス

モジュール

キーワード

検索結果

ConditionVariable (54007.0)

Alias of Thread::ConditionVariable

Alias of Thread::ConditionVariable

Thread::ConditionVariable (54007.0)

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

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

以下も ConditionVariable を理解するのに参考になります。

https://ruby-doc.com/docs/ProgrammingRuby/html/tut_threads.html#UF

=== Condition Variable とは

あるスレッド A が排他領域で動いていたとします。スレッド A は現在空いていない
リソースが必要になったので空くまで待つことにしたとします。これはうまくいきません。
なぜなら、スレッド A は排他領域で動いているわけですから、他のスレッドは動くことが
できません。リ...

Thread::ConditionVariable#wait(mutex, timeout = nil) -> self (45607.0)

mutex のロックを解放し、カレントスレッドを停止します。 Thread::ConditionVariable#signalまたは、 Thread::ConditionVariable#broadcastで送られたシグナルを 受け取ると、mutexのロックを取得し、実行状態となります。

mutex のロックを解放し、カレントスレッドを停止します。
Thread::ConditionVariable#signalまたは、
Thread::ConditionVariable#broadcastで送られたシグナルを
受け取ると、mutexのロックを取得し、実行状態となります。

@param mutex Mutex オブジェクトを指定します。

@param timeout スリープする秒数を指定します。この場合はシグナルを受け取
らなかった場合でも指定した秒数が経過するとスリープを終了
します。省略するとスリープし続け...

Process.#clock_gettime(clock_id, unit=:float_second) -> Float | Integer (36907.0)

POSIX の clock_gettime() 関数の時間を返します。

POSIX の clock_gettime() 関数の時間を返します。

例:
p Process.clock_gettime(Process::CLOCK_MONOTONIC) #=> 896053.968060096

@param clock_id クロックの種類を以下の定数のいずれかで指定します。
サポートされている定数は OS やバージョンに依存します。

: Process::CLOCK_REALTIME
SUSv2 to 4, Linux 2.5.63, FreeBSD 3.0, NetBSD 2.0, OpenBSD 2.1, macOS...

Process::CLOCK_SECOND -> Integer (36907.0)

Process.#clock_gettime で使われます。

Process.#clock_gettime で使われます。

システムによっては定義されていません。

絞り込み条件を変える

Thread::ConditionVariable.new -> Thread::ConditionVariable (36907.0)

状態変数を生成して返します。

状態変数を生成して返します。

Thread::ConditionVariable#signal -> self (36607.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)
...

Thread::ConditionVariable#broadcast -> self (27307.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)
...

Time.at(seconds, xseconds, unit) -> Time (19507.0)

unit に応じて seconds + xseconds ミリ秒などの時刻を表す Time オブジェクトを返します。

unit に応じて seconds + xseconds ミリ秒などの時刻を表す Time オブジェクトを返します。

@param seconds 起算時からの経過秒数を表わす値をInteger、 Float、 Rational、または他のNumericで指定します。
@param xseconds unit に対応するミリ秒かマイクロ秒かナノ秒を指定します。
@param unit :millisecond, :usec, :microsecond, :nsec, :nanosecond のいずれかを指定します。

//emlist[][ruby]{
Time.at(946684800,...