ライブラリ
- ビルトイン (7)
-
io
/ wait (3) - monitor (2)
-
shell
/ builtin-command (1) -
shell
/ process-controller (1) - sync (2)
クラス
-
ARGF
. class (1) - IO (5)
-
MonitorMixin
:: ConditionVariable (2) -
Process
:: Status (1) -
Shell
:: BuiltInCommand (1) -
Shell
:: ProcessController (1) -
Thread
:: ConditionVariable (1) -
Thread
:: Queue (2)
モジュール
-
Sync
_ m (2)
キーワード
- >> (1)
- close (1)
-
num
_ waiting (1) -
read
_ nonblock (2) -
sync
_ upgrade _ waiting (1) -
sync
_ upgrade _ waiting= (1) - wait? (1)
-
wait
_ all _ jobs _ execution (1) -
wait
_ readable (1) -
wait
_ until (1) -
wait
_ writable (1) -
write
_ nonblock (1)
検索結果
先頭5件
-
Thread
:: ConditionVariable # wait(mutex , timeout = nil) -> self (54907.0) -
mutex のロックを解放し、カレントスレッドを停止します。 Thread::ConditionVariable#signalまたは、 Thread::ConditionVariable#broadcastで送られたシグナルを 受け取ると、mutexのロックを取得し、実行状態となります。
mutex のロックを解放し、カレントスレッドを停止します。
Thread::ConditionVariable#signalまたは、
Thread::ConditionVariable#broadcastで送られたシグナルを
受け取ると、mutexのロックを取得し、実行状態となります。
@param mutex Mutex オブジェクトを指定します。
@param timeout スリープする秒数を指定します。この場合はシグナルを受け取
らなかった場合でも指定した秒数が経過するとスリープを終了
します。省略するとスリープし続け... -
MonitorMixin
:: ConditionVariable # wait(timeout = nil) -> bool (54643.0) -
モニタのロックを開放し、現在のスレッドを停止します。
モニタのロックを開放し、現在のスレッドを停止します。
これを呼ぶスレッドはモニタのロックを保持している必要があります。
MonitorMixin::ConditionVariable#signal や
MonitorMixin::ConditionVariable#broadcast
で起こされるまでスレッドは停止し続けます。
timeout を与えた場合は最大 timeout 秒まで停止した後にスレッドを
再開します。
実行を再開したスレッドはモニタのロックを保持した状態になります。
これによって危険領域(critical section)上で動作している
スレッドはただ一つになり... -
IO
# wait(timeout = nil) -> bool | self | nil (54628.0) -
self が読み込み可能になるまでブロックし、読み込み可能になったら 真値を返します。タイムアウト、もしくはEOFで それ以上読みこめない場合は偽の値を返します。
self が読み込み可能になるまでブロックし、読み込み可能になったら
真値を返します。タイムアウト、もしくはEOFで
それ以上読みこめない場合は偽の値を返します。
より詳しくは、一度ブロックしてから読み込み可能になった場合には
selfを返します。
内部のバッファにデータがある場合には
ブロックせずに true を返します。
内部のバッファとはRubyの処理系が保持管理している
バッファのことです。
つまり、読み込み可能である場合にはtrueを返す場合と
selfを返す場合があることに注意してください。
timeout を指定した場合は、指定秒数経過するまでブロックし、タ
イムアウトし... -
Thread
:: Queue # num _ waiting -> Integer (45604.0) -
キューを待っているスレッドの数を返します。
キューを待っているスレッドの数を返します。
//emlist[例][ruby]{
require 'thread'
q = SizedQueue.new(1)
q.push(1)
t = Thread.new { q.push(2) }
sleep 0.05 until t.stop?
q.num_waiting # => 1
q.pop
t.join
//} -
MonitorMixin
:: ConditionVariable # wait _ until { . . . } -> () (36625.0) -
モニタのロックを開放し、現在のスレッドを ブロックで指定した条件を満たすまで停止します。
モニタのロックを開放し、現在のスレッドを
ブロックで指定した条件を満たすまで停止します。
MonitorMixin::ConditionVariable#signal や
MonitorMixin::ConditionVariable#broadcast で
スレッドが起こされると、ロックを取得し、ブロックを評価し
その結果によってこのメソッドから抜け処理を継続するか
再びロックを開放しスレッドを停止するかを決めます。
@see MonitorMixin::ConditionVariable#wait -
Shell
:: ProcessController # wait _ all _ jobs _ execution -> () (36607.0) -
全てのジョブの実行が終わるまで待ちます。
全てのジョブの実行が終わるまで待ちます。 -
Sync
_ m # sync _ upgrade _ waiting -> [Thread] (36604.0) -
@todo
@todo -
Sync
_ m # sync _ upgrade _ waiting=(arr) (36604.0) -
@todo
@todo -
Shell
:: BuiltInCommand # wait? -> false (27307.0) -
@todo
@todo -
IO
# wait _ readable(timeout = nil) -> bool | self | nil (18628.0) -
self が読み込み可能になるまでブロックし、読み込み可能になったら 真値を返します。タイムアウト、もしくはEOFで それ以上読みこめない場合は偽の値を返します。
self が読み込み可能になるまでブロックし、読み込み可能になったら
真値を返します。タイムアウト、もしくはEOFで
それ以上読みこめない場合は偽の値を返します。
より詳しくは、一度ブロックしてから読み込み可能になった場合には
selfを返します。
内部のバッファにデータがある場合には
ブロックせずに true を返します。
内部のバッファとはRubyの処理系が保持管理している
バッファのことです。
つまり、読み込み可能である場合にはtrueを返す場合と
selfを返す場合があることに注意してください。
timeout を指定した場合は、指定秒数経過するまでブロックし、タ
イムアウトし... -
IO
# wait _ writable(timeout) -> self | nil (18628.0) -
self が書き込み可能になるまでブロックし、書き込み可能になったら self を 返します。
self が書き込み可能になるまでブロックし、書き込み可能になったら self を
返します。
timeout を指定した場合は、指定秒数経過するまでブロックし、タイムアウト
した場合は nil を返します。
@param timeout タイムアウトまでの秒数を指定します。
@see IO#wait_readable -
Thread
:: Queue # close -> self (18022.0) -
キューを close します。close 済みのキューを再度 open することはできません。
キューを close します。close 済みのキューを再度 open することはできません。
close 後は以下のように動作します。
* Thread::Queue#closed? は true を返します
* Thread::Queue#close は無視されます
* Thread::Queue#enq/push/<< は ClosedQueueError を発生します
* Thread::Queue#empty? が false を返す場合は Thread::Queue#deq/pop/shift は通常通りオブジェクトを返します
また、ClosedQueueError... -
Process
:: Status # >>(num) -> Integer (9322.0) -
self.to_i >> num と同じです。
self.to_i >> num と同じです。
@param num 整数を指定します。
fork { exit 99 } #=> 26563
Process.wait #=> 26563
$?.to_i #=> 25344
$? >> 8 #=> 99 -
IO
# write _ nonblock(string , exception: true) -> Integer | :wait _ writable (625.0) -
IO をノンブロッキングモードに設定し、string を write(2) システムコールで書き出します。
IO をノンブロッキングモードに設定し、string を write(2) システムコールで書き出します。
write(2) が成功した場合、書き込んだ長さを返します。
EAGAIN, EINTR などは例外 Errno::EXXX として呼出元に報告されます。
書き込んだバイト数(つまり返り値)は String#bytesize の
値より小さい可能性があります。
発生した例外 がErrno::EAGAIN、 Errno::EWOULDBLOCK である場合は、
その例外オブジェクトに IO::WaitWritable が Object#extend
されます。よって IO::Wai... -
ARGF
. class # read _ nonblock(maxlen , outbuf = nil , exception: true) -> String | Symbol | nil (322.0) -
処理中のファイルからノンブロッキングモードで最大 maxlen バイト読み込みます。 詳しくは IO#read_nonblock を参照してください。
処理中のファイルからノンブロッキングモードで最大 maxlen バイト読み込みます。
詳しくは IO#read_nonblock を参照してください。
ARGF.class#read などとは違って複数ファイルを同時に読み込むことはありません。
@param maxlen 読み込む長さの上限を整数で指定します。
@param outbuf 読み込んだデータを格納する String オブジェクトを指定します。
@param exception 読み込み時に Errno::EAGAIN、
Errno::EWOULDBLOCK が発生する代わりに
... -
IO
# read _ nonblock(maxlen , outbuf = nil , exception: true) -> String | Symbol | nil (322.0) -
IO をノンブロッキングモードに設定し、 その後で read(2) システムコールにより 長さ maxlen を上限として読み込み、文字列として返します。 EAGAIN, EINTR などは Errno::EXXX 例外として呼出元に報告されます。
IO をノンブロッキングモードに設定し、
その後で read(2) システムコールにより
長さ maxlen を上限として読み込み、文字列として返します。
EAGAIN, EINTR などは Errno::EXXX 例外として呼出元に報告されます。
発生した例外 がErrno::EAGAIN、 Errno::EWOULDBLOCK である場合は、
その例外オブジェクトに IO::WaitReadable が Object#extend
されます。
なお、バッファが空でない場合は、read_nonblock はバッファから読み込みます。この場合、read(2) システムコールは呼ばれません...