別のキーワード
ライブラリ
- ビルトイン (64)
-
io
/ wait (48) - monitor (40)
-
net
/ telnet (2) -
shell
/ builtin-command (6) -
shell
/ process-controller (24) -
shell
/ system-command (6) - socket (12)
- thread (6)
- thwait (18)
- un (12)
クラス
-
ARGF
. class (10) - IO (72)
- Monitor (4)
-
MonitorMixin
:: ConditionVariable (36) -
Net
:: Telnet (2) -
Shell
:: BuiltInCommand (6) -
Shell
:: ProcessController (24) -
Shell
:: SystemCommand (6) - Socket (12)
-
Thread
:: ConditionVariable (36) - ThreadsWait (18)
モジュール
- Kernel (12)
キーワード
- broadcast (12)
-
connect
_ nonblock (12) - empty? (6)
- finished? (6)
-
next
_ wait (6) -
read
_ nonblock (22) - signal (12)
- wait? (12)
-
wait
_ all _ jobs _ execution (6) -
wait
_ for _ cond (4) -
wait
_ readable (12) -
wait
_ until (12) -
wait
_ while (12) -
wait
_ writable (36) - waitfor (2)
-
waiting
_ job? (6) -
waiting
_ jobs (6) -
waiting
_ jobs _ exist? (6) -
write
_ nonblock (12)
検索結果
先頭5件
-
IO
# wait _ readable(timeout = nil) -> bool | self | nil (9209.0) -
self が読み込み可能になるまでブロックし、読み込み可能になったら 真値を返します。タイムアウト、もしくはEOFで それ以上読みこめない場合は偽の値を返します。
...fを返します。
内部のバッファにデータがある場合には
ブロックせずに true を返します。
内部のバッファとはRubyの処理系が保持管理している
バッファのことです。
つまり、読み込み可能である場合にはtrueを返す場合と
se......timeout を指定した場合は、指定秒数経過するまでブロックし、タ
イムアウトした場合は nil を返します。
self が EOF に達していれば false を返します。
@param timeout タイムアウトまでの秒数を指定します。
@see IO#wait_writable... -
ThreadsWait
# next _ wait(nonblock = nil) -> Thread (9208.0) -
指定したスレッドのどれかが終了するまで待ちます。
...待ちます。
@param nonblock true を与えると、キューが空の時、例外 ThreadsWait::ErrNoFinishedThread が発生します。
@raise ErrNoWaitingThread 終了をまつスレッドが存在しない時、発生します。
@raise ErrNoFinishedThread nonblock がtrue でかつ、キ......ューが空の時、発生します。
#使用例
require 'thwait'
threads = []
2.times {|i|
threads << Thread.new { sleep i }
}
thall = ThreadsWait.new
thall.join_nowait(*threads)
until thall.empty?
th = thall.next_wait
p th
end
@see Queue#pop... -
MonitorMixin
:: ConditionVariable # wait _ until { . . . } -> () (9108.0) -
モニタのロックを開放し、現在のスレッドを ブロックで指定した条件を満たすまで停止します。
...現在のスレッドを
ブロックで指定した条件を満たすまで停止します。
MonitorMixin::ConditionVariable#signal や
MonitorMixin::ConditionVariable#broadcast で
スレッドが起こされると、ロックを取得し、ブロックを評価し
その結果によってこの......メソッドから抜け処理を継続するか
再びロックを開放しスレッドを停止するかを決めます。
@see MonitorMixin::ConditionVariable#wait... -
MonitorMixin
:: ConditionVariable # wait _ while { . . . } -> () (9108.0) -
モニタのロックを開放し、現在のスレッドを ブロックで指定した条件を満たしている間停止します。
...のスレッドを
ブロックで指定した条件を満たしている間停止します。
MonitorMixin::ConditionVariable#signal や
MonitorMixin::ConditionVariable#broadcast で
スレッドが起こされると、ロックを取得し、ブロックを評価し
その結果によってこの......メソッドから抜け処理を継続するか
再びロックを開放しスレッドを停止するかを決めます。
@raise ThreadError ロックを持っていないスレッドがこのメソッドを呼びだした場合に発生します
@see MonitorMixin::ConditionVariable#wait... -
Shell
:: BuiltInCommand # wait? -> false (9102.0) -
@todo
@todo -
IO
# write _ nonblock(string , exception: true) -> Integer | :wait _ writable (6308.0) -
IO をノンブロッキングモードに設定し、string を write(2) システムコールで書き出します。
...り値)は String#bytesize の
値より小さい可能性があります。
発生した例外 がErrno::EAGAIN、 Errno::EWOULDBLOCK である場合は、
その例外オブジェクトに IO::WaitWritable が Object#extend
されます。よって IO::WaitWritable を write_nonblock のリトラ......列を指定します。
@param exception false を指定すると、書き込み時に Errno::EAGAIN、Errno::EWOULDBLOCK が発生
する代わりに :wait_writable を返します。
@raise IOError 自身が書き込み用にオープンされていなければ発生します... -
Monitor
# wait _ for _ cond(cond , timeout) -> bool (6208.0) -
MonitorMixin::ConditionVariable 用の内部メソッドです。
...MonitorMixin::ConditionVariable 用の内部メソッドです。
@param cond Thread::ConditionVariable を指定します。
@param timeout タイムアウトまでの秒数。指定しなかった場合はタイムアウトしません。
@return タイムアウトしたときは false を返し......ます。それ以外は true を返します。
//emlist[例][ruby]{
require 'monitor'
m = Monitor.new
cv = Thread::ConditionVariable.new
m.enter
m.wait_for_cond(cv, 1)
//}... -
Shell
:: SystemCommand # wait? -> bool (6202.0) -
@todo
@todo -
Net
:: Telnet # waitfor(opt) {|buf| . . . } -> String|nil (6201.0) -
指定した正規表現にマッチする文字列がホストから来るまでデータを読み込みます。
...値として利用します。
"Waittime" 指定した正規表現にマッチしてからこれで指定した秒数だけホストからの
通信がない場合にこのメソッドが終わります。指定しない場合は Net::Telnet.new で
指定した"Waittime"の値をデフォルト値... -
Thread
:: ConditionVariable # broadcast -> self (6123.0) -
状態変数を待っているスレッドをすべて再開します。再開された スレッドは Thread::ConditionVariable#wait で指定した mutex のロックを試みます。
...itionVariable#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)......end
puts "a2"
}
}
}
Thread.start {
mutex.synchronize {
flg = false
cv.broadcast
}
}
sleep 1
# => a1
# => a1
# => a1
# => a2
# => a2
# => a2
//}... -
ARGF
. class # read _ nonblock(maxlen , outbuf = nil , exception: true) -> String | Symbol | nil (6107.0) -
処理中のファイルからノンブロッキングモードで最大 maxlen バイト読み込みます。 詳しくは IO#read_nonblock を参照してください。
...ます。
詳しくは IO#read_nonblock を参照してください。
ARGF.class#read などとは違って複数ファイルを同時に読み込むことはありません。
@param maxlen 読み込む長さの上限を整数で指定します。
@param outbuf 読み込んだデータを格納......ジェクトを指定します。
@param exception 読み込み時に Errno::EAGAIN、
Errno::EWOULDBLOCK が発生する代わりに
:wait_readable を返すかどうかを指定します。また、false
を指定した場合は既に EOF に達... -
IO
# read _ nonblock(maxlen , outbuf = nil , exception: true) -> String | Symbol | nil (6107.0) -
IO をノンブロッキングモードに設定し、 その後で read(2) システムコールにより 長さ maxlen を上限として読み込み、文字列として返します。 EAGAIN, EINTR などは Errno::EXXX 例外として呼出元に報告されます。
...ます。
発生した例外 がErrno::EAGAIN、 Errno::EWOULDBLOCK である場合は、
その例外オブジェクトに IO::WaitReadable が Object#extend
されます。
なお、バッファが空でない場合は、read_nonblock はバッファから読み込みます。この場合、read......込む長さの上限を整数で指定します。
@param outbuf 文字列で指定します。IO#read_nonblock は読み込んだデータを outbuf に破壊的に格納し、
返り値は outbuf となります。outbuf は一旦 maxlen 長に拡張(あるいは縮小)されたあ......、空文字列になります。
@param exception 読み込み時に Errno::EAGAIN、
Errno::EWOULDBLOCK が発生する代わりに
:wait_readable を返すかどうかを指定します。また、false
を指定した場合は既に EOF に達...