種類
- インスタンスメソッド (3)
- 特異メソッド (3)
- クラス (2)
- 定数 (1)
- モジュール関数 (1)
クラス
-
Thread
:: ConditionVariable (4) - Time (2)
モジュール
- Process (2)
キーワード
-
CLOCK
_ SECOND (1) - ConditionVariable (2)
- at (2)
- broadcast (1)
-
clock
_ gettime (1) - new (1)
- signal (1)
- wait (1)
検索結果
先頭5件
-
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 のいずれかを指定します。
@param in "+HH:MM" や "-HH:MM" のような形式の... -
Time
. at(seconds , xseconds , unit , in:) -> 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 のいずれかを指定します。
@param in "+HH:MM" や "-HH:MM" のような形式の...