ライブラリ
- ビルトイン (96)
-
io
/ wait (48) - monitor (42)
-
net
/ telnet (4) -
shell
/ builtin-command (6) -
shell
/ process-controller (24) -
shell
/ system-command (6) - socket (12)
- sync (24)
- thread (8)
- thwait (42)
- un (12)
クラス
-
ARGF
. class (10) - IO (72)
- Monitor (6)
-
MonitorMixin
:: ConditionVariable (36) -
Net
:: Telnet (4) -
Process
:: Status (12) -
Shell
:: BuiltInCommand (6) -
Shell
:: ProcessController (24) -
Shell
:: SystemCommand (6) - Socket (12)
-
Thread
:: ConditionVariable (36) -
Thread
:: Queue (22) - ThreadsWait (42)
キーワード
- >> (12)
-
all
_ waits (6) - broadcast (12)
- close (10)
-
connect
_ nonblock (12) - empty? (6)
- finished? (6)
- join (6)
-
join
_ nowait (6) -
next
_ wait (6) -
num
_ waiting (12) -
read
_ nonblock (22) - signal (12)
-
sync
_ upgrade _ waiting (6) -
sync
_ upgrade _ waiting= (6) -
sync
_ waiting (6) -
sync
_ waiting= (6) - threads (6)
- wait? (12)
-
wait
_ all _ jobs _ execution (6) -
wait
_ for _ cond (6) -
wait
_ readable (12) -
wait
_ until (12) -
wait
_ while (12) -
wait
_ writable (36) - waitfor (4)
-
waiting
_ job? (6) -
waiting
_ jobs (6) -
waiting
_ jobs _ exist? (6) -
write
_ nonblock (12)
検索結果
先頭5件
-
Thread
:: Queue # num _ waiting -> Integer (6101.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
//}... -
ThreadsWait
# empty? -> bool (3001.0) -
同期されるスレッドが存在するならば true をかえします。
...るスレッドが存在するならば true をかえします。
使用例
require 'thwait'
threads = []
3.times {|i|
threads << Thread.new { sleep 1; p Thread.current }
}
thall = ThreadsWait.new
p thall.threads.empty? #=> true
thall.join(*threads)
p thall.threads.empty? #=>... -
ThreadsWait
# finished? -> bool (3001.0) -
すでに終了したスレッドが存在すれば true を返します。
...に終了したスレッドが存在すれば true を返します。
使用例
require 'thwait'
threads = []
3.times {|i|
threads << Thread.new { sleep 1; p Thread.current }
}
thall = ThreadsWait.new(*threads)
p thall.finished? #=> false
sleep 3
p thall.finished? #=> true... -
ThreadsWait
# join(*threads) -> () (3001.0) -
終了を待つスレッドの対象として、threads で指定されたスレッドを指定します。
...ドの終了を待つスレッドに指定されたthreadsを加えます。
require 'thwait'
threads = []
5.times {|i|
threads << Thread.new { sleep 1; p Thread.current }
}
thall = ThreadsWait.new
p thall.threads #=> []
thall.join(*threads)
p thall.threads
#=> [#<Thread:0x2... -
ThreadsWait
# threads -> Array (3001.0) -
同期されるスレッドの一覧を配列で返します。
...同期されるスレッドの一覧を配列で返します。
使用例
require 'thwait'
threads = []
3.times {|i|
threads << Thread.new { sleep 1; p Thread.current }
}
thall = ThreadsWait.new(*threads)
p thall.threads
#=> [#<Thread:0x21750 sleep>, #<Thread:0x216c4 sleep>, #<... -
IO
# write _ nonblock(string , exception: true) -> Integer | :wait _ writable (108.0) -
IO をノンブロッキングモードに設定し、string を write(2) システムコールで書き出します。
...発生した例外 がErrno::EAGAIN、 Errno::EWOULDBLOCK である場合は、
その例外オブジェクトに IO::WaitWritable が Object#extend
されます。よって IO::WaitWritable を write_nonblock のリトライが必要
かの判定に用いることができます。
@param string......@param exception false を指定すると、書き込み時に Errno::EAGAIN、Errno::EWOULDBLOCK が発生
する代わりに :wait_writable を返します。
@raise IOError 自身が書き込み用にオープンされていなければ発生します。
@raise Errno::EXXX wr... -
Thread
:: ConditionVariable # broadcast -> self (23.0) -
状態変数を待っているスレッドをすべて再開します。再開された スレッドは Thread::ConditionVariable#wait で指定した mutex のロックを試みます。
...ionVariable#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 (23.0) -
状態変数を待っているスレッドを1つ再開します。再開された スレッドは Thread::ConditionVariable#wait で指定した mutex のロックを試みます。
...ionVariable#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)... -
ARGF
. class # read _ nonblock(maxlen , outbuf = nil , exception: true) -> String | Symbol | nil (7.0) -
処理中のファイルからノンブロッキングモードで最大 maxlen バイト読み込みます。 詳しくは IO#read_nonblock を参照してください。
...します。
@param exception 読み込み時に Errno::EAGAIN、
Errno::EWOULDBLOCK が発生する代わりに
:wait_readable を返すかどうかを指定します。また、false
を指定した場合は既に EOF に達していれば... -
IO
# read _ nonblock(maxlen , outbuf = nil , exception: true) -> String | Symbol | nil (7.0) -
IO をノンブロッキングモードに設定し、 その後で read(2) システムコールにより 長さ maxlen を上限として読み込み、文字列として返します。 EAGAIN, EINTR などは Errno::EXXX 例外として呼出元に報告されます。
...元に報告されます。
発生した例外 がErrno::EAGAIN、 Errno::EWOULDBLOCK である場合は、
その例外オブジェクトに IO::WaitReadable が Object#extend
されます。
なお、バッファが空でない場合は、read_nonblock はバッファから読み込みます。......ます。
@param exception 読み込み時に Errno::EAGAIN、
Errno::EWOULDBLOCK が発生する代わりに
:wait_readable を返すかどうかを指定します。また、false
を指定した場合は既に EOF に達していれば... -
Process
:: Status # >>(num) -> Integer (7.0) -
self.to_i >> num と同じです。
...self.to_i >> num と同じです。
@param num 整数を指定します。
fork { exit 99 } #=> 26563
Process.wait #=> 26563
$?.to_i #=> 25344
$? >> 8 #=> 99...