るりまサーチ

最速Rubyリファレンスマニュアル検索!
57件ヒット [1-57件を表示] (0.014秒)
トップページ > クエリ:wait[x] > 種類:クラス[x]

別のキーワード

  1. io/wait wait_writable
  2. io wait_writable
  3. conditionvariable wait
  4. _builtin wait
  5. io/wait wait

ライブラリ

検索結果

ThreadsWait::ErrNoWaitingThread (9007.0)

終了を待つスレッドが存在しない時、発生します。

...終了を待つスレッドが存在しない時、発生します。

@see ThreadsWait#next_wait...

ThWait (6001.0)

Alias of ThreadsWait

...Alias of ThreadsWait...

ThreadsWait (6001.0)

複数スレッドの終了を待つ機能を提供します。

複数スレッドの終了を待つ機能を提供します。

ThreadsWait::ErrNoFinishedThread (3007.0)

nonblock がtrue でかつ、キューが空の時、発生します。

...nonblock がtrue でかつ、キューが空の時、発生します。

@see ThreadsWait#next_wait...

Process::Status (35.0)

プロセスの終了ステータスを表すクラスです。 メソッド Process.#wait2 などの返り値として使われます。

...プロセスの終了ステータスを表すクラスです。
メソッド Process.#wait2 などの返り値として使われます。

=== 使用例

wait
を使用した例

fork { exit }
Process.wait
case
when $?.signaled?
p "child #{$?.pid} was killed by signal #{$?.termsig}"...
...ータスをサポートしてなければ常にfalse
p "child #{$?.pid} dumped core."
end
when $?.stopped?
# 実際には Process.wait を使用しているので、ここに来ることはない
p "child #{$?.pid} was stopped by signal #{$?.stopsig}"
when $?.exited?
p "ch...
...セスの終了に対して1つの SIGCHLD しか届かない
# 場合があるのでループさせる必要があります

while Process.waitpid(-1, Process::WNOHANG|Process::WUNTRACED)
case
when $?.signaled?
puts " child #{$?.pid} was killed by signal #{$?.termsig}"...

絞り込み条件を変える

Thread::ConditionVariable (31.0)

スレッドの同期機構の一つである状態変数を実現するクラスです。

...状況を解決するのが Condition Variable です。

スレッド a で条件(リソースが空いているかなど)が満たされるまで wait メソッドで
スレッドを止めます。他のスレッド b において条件が満たされたなら signal
メソッドでスレッド a...
...onditionVariable.new

a = Thread.start {
mutex.synchronize {
...
while (条件が満たされない)
cv.wait(mutex)
end
...
}
}

b = Thread.start {
mutex.synchronize {
# 上の条件を満たすため...
...いる例です。@q が空になった場合、
あるいは満タンになった場合に Condition Variable を使って wait しています。

require 'thread'

class
TinyQueue
def initialize(max=2)
@max = max
@full = ConditionVariable.new
@empty = ConditionVariable.n...

Monitor (7.0)

スレッドの同期機構としてのモニター機能を提供するクラスです。 また同じスレッドから何度も lock できる Mutex としての機能も提供します。

...quire 'monitor'

buf = []
mon = Monitor.new
empty_cond = mon.new_cond

# consumer
Thread.start do
loop do
mon.synchronize do
empty_cond.wait_while { buf.empty? }
print buf.shift
end
end
end

# producer
while line = ARGF.gets
mon.synchronize do
buf.push(line)
empty_c...