ライブラリ
- ビルトイン (96)
-
io
/ wait (36) - monitor (42)
-
net
/ telnet (4) -
shell
/ process-controller (24) - socket (12)
- sync (24)
- thread (8)
- thwait (42)
- un (12)
クラス
-
ARGF
. class (10) - IO (60)
- Monitor (6)
-
MonitorMixin
:: ConditionVariable (36) -
Net
:: Telnet (4) -
Process
:: Status (12) -
Shell
:: ProcessController (24) - 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
_ 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件
-
MonitorMixin
:: ConditionVariable # wait(timeout = nil) -> bool (21114.0) -
モニタのロックを開放し、現在のスレッドを停止します。
...ます。
これを呼ぶスレッドはモニタのロックを保持している必要があります。
MonitorMixin::ConditionVariable#signal や
MonitorMixin::ConditionVariable#broadcast
で起こされるまでスレッドは停止し続けます。
timeout を与えた場合は最大 timeo......れによって危険領域(critical section)上で動作している
スレッドはただ一つになり、排他を実現します。
true を返します。timeout が与えられていて待ち時間が timeout を
越えた場合は false を返します。
@param timeout タイムアウト......での秒数。指定しなかった場合はタイムアウトしません。
@raise ThreadError ロックを持っていないスレッドがこのメソッドを呼びだした場合に発生します
@see MonitorMixin::ConditionVariable#wait_while, MonitorMixin::ConditionVariable#wait_until... -
Thread
:: ConditionVariable # wait(mutex , timeout = nil) -> self (21102.0) -
mutex のロックを解放し、カレントスレッドを停止します。 Thread::ConditionVariable#signalまたは、 Thread::ConditionVariable#broadcastで送られたシグナルを 受け取ると、mutexのロックを取得し、実行状態となります。
...止します。
Thread::ConditionVariable#signalまたは、
Thread::ConditionVariable#broadcastで送られたシグナルを
受け取ると、mutexのロックを取得し、実行状態となります。
@param mutex Thread::Mutex オブジェクトを指定します。
@param timeout スリ......ます。この場合はシグナルを受け取
らなかった場合でも指定した秒数が経過するとスリープを終了
します。省略するとスリープし続けます。
@see Thread::ConditionVariable#signal, Thread::ConditionVariable#broadcast......停止します。
Thread::ConditionVariable#signalまたは、
Thread::ConditionVariable#broadcastで送られたシグナルを
受け取ると、mutexのロックを取得し、実行状態となります。
@param mutex Mutex オブジェクトを指定します。
@param timeout スリープ... -
IO
# wait _ writable -> self (12209.0) -
self が書き込み可能になるまでブロックし、書き込み可能になったら self を 返します。
...、書き込み可能になったら self を
返します。
timeout を指定した場合は、指定秒数経過するまでブロックし、タイムアウト
した場合は nil を返します。
@param timeout タイムアウトまでの秒数を指定します。
@see IO#wait_readable... -
IO
# wait _ writable(timeout) -> self | nil (12209.0) -
self が書き込み可能になるまでブロックし、書き込み可能になったら self を 返します。
...、書き込み可能になったら self を
返します。
timeout を指定した場合は、指定秒数経過するまでブロックし、タイムアウト
した場合は nil を返します。
@param timeout タイムアウトまでの秒数を指定します。
@see IO#wait_readable... -
Kernel
# wait _ writable -> () (12208.0) -
ファイルが書き込み可能になるまで待ちます。
...ファイルが書き込み可能になるまで待ちます。
ruby -run -e wait_writable -- [OPTION] FILE
-n RETRY リトライ回数
-w SEC リトライごとに待つ秒数
-v 詳細表示... -
Monitor
# wait _ for _ cond(cond , timeout) -> bool (12208.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)
//}... -
Monitor
# wait _ for _ cond(cond , timeout) -> true (12208.0) -
MonitorMixin::ConditionVariable 用の内部メソッドです。
...MonitorMixin::ConditionVariable 用の内部メソッドです。
@param cond Thread::ConditionVariable を指定します。
@param timeout タイムアウトまでの秒数。指定しなかった場合はタイムアウトしません。
@return Ruby 1.9 の頃からのバグで常に true を......返します。(16608)
//emlist[例][ruby]{
require 'monitor'
m = Monitor.new
cv = Thread::ConditionVariable.new
m.enter
m.wait_for_cond(cv, 1)
//}... -
ThreadsWait
# next _ wait(nonblock = nil) -> Thread (12208.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... -
Net
:: Telnet # waitfor(opt) -> String|nil (12201.0) -
指定した正規表現にマッチする文字列がホストから来るまでデータを読み込みます。
...定します。
"Prompt" "Match"と同じです。"Match"が指定されなかった場合にのみ使われます。
"String" "Match"と似ていますが、与えられた String のインスタンスに
完全に一致するデータを待ち合わせます。"Match"も"Prompt"も指定され......値として利用します。
"Waittime" 指定した正規表現にマッチしてからこれで指定した秒数だけホストからの
通信がない場合にこのメソッドが終わります。指定しない場合は Net::Telnet.new で
指定した"Waittime"の値をデフォルト値......として利用します。
"FailEOF" これを真にすると、ホスト側から接続を切られた場合には例外 IOError
が発生するようになります。偽だとホスト側から接続を切られた場合にはブロックに
nil が渡されます。さらにこのオプショ... -
Net
:: Telnet # waitfor(opt) {|buf| . . . } -> String|nil (12201.0) -
指定した正規表現にマッチする文字列がホストから来るまでデータを読み込みます。
...定します。
"Prompt" "Match"と同じです。"Match"が指定されなかった場合にのみ使われます。
"String" "Match"と似ていますが、与えられた String のインスタンスに
完全に一致するデータを待ち合わせます。"Match"も"Prompt"も指定され......値として利用します。
"Waittime" 指定した正規表現にマッチしてからこれで指定した秒数だけホストからの
通信がない場合にこのメソッドが終わります。指定しない場合は Net::Telnet.new で
指定した"Waittime"の値をデフォルト値......として利用します。
"FailEOF" これを真にすると、ホスト側から接続を切られた場合には例外 IOError
が発生するようになります。偽だとホスト側から接続を切られた場合にはブロックに
nil が渡されます。さらにこのオプショ... -
Shell
:: ProcessController # waiting _ jobs -> Array (12201.0) -
待機中のジョブを返します。
待機中のジョブを返します。 -
Sync
_ m # sync _ upgrade _ waiting -> [Thread] (12201.0) -
@todo
@todo -
Sync
_ m # sync _ upgrade _ waiting=(arr) (12201.0) -
@todo
@todo -
ThreadsWait
# join _ nowait(*threads) -> () (12201.0) -
終了を待つスレッドの対象として、threads で指定されたスレッドを指定します。 しかし、実際には終了をまちません。
...、threads で指定されたスレッドを指定します。
しかし、実際には終了をまちません。
@param threads 複数スレッドの終了を待つスレッドに指定されたthreadsを加えます。
require 'thwait'
threads = []
5.times {|i|
threads << Thread.new......{ sleep 1; p Thread.current }
}
thall = ThreadsWait.new
p thall.threads #=> []
thall.join_nowait(*threads)
p thall.threads #=> [#<Thread:0x21638 sleep>, #<Thread:0x215ac sleep>, #<Thread:0x21520 sleep>, #<Thread:0x21494 sleep>, #<Thread:0x21408 sleep>]
# 実際には終了を待って...