るりまサーチ

最速Rubyリファレンスマニュアル検索!
45件ヒット [1-45件を表示] (0.017秒)

別のキーワード

  1. スレッド thread
  2. スレッド
  3. スレッド spec/rubycmd
  4. スレッド spec/terminate

ライブラリ

クラス

キーワード

検索結果

ThreadsWait#empty? -> bool (21141.0)

同期されるスレッドが存在するならば true をかえします。

...スレッドが存在するならば true をかえします。

使用例
require 'thwait'

thread
s = []
3.times {|i|
thread
s << Thread.new { sleep 1; p Thread.current }
}

thall = ThreadsWait.new
p thall.threads.empty? #=> true
thall.join(*threads)
p thall.threads.empty? #=>...

ThreadsWait#next_wait(nonblock = nil) -> Thread (3135.0)

指定したスレッドのどれかが終了するまで待ちます。

...指定したスレッドのどれかが終了するまで待ちます。

@param nonblock true を与えると、キューが空の時、例外 ThreadsWait::ErrNoFinishedThread が発生します。

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

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

#使用例
require 'thwait'

thread
s = []
2.times {|i|
thread
s << Thread.new { sleep i }
}

thall = ThreadsWait.new
thall.join_nowait(*threads)
until thall.empty?
th = thall.next...

Ruby用語集 (96.0)

Ruby用語集 A B C D E F G I J M N O R S Y

...は、長さが 0 のインスタンスを「空文字列」と呼ぶ。

空であることを確認するメソッドの名前にしばしば empty? が使われる。

: 仮引数
: formal argument
メソッド定義において、メソッド呼び出しで与えられた実引数を
...
...↔サブクラス

→継承

: スレッド
: thread
同時に存在して並行的に実行されうる制御の流れ。スレッド間でメモリーは共有される。

参照:spec/thread

: スレッドセーフ
: thread safe
複数のスレッドが並行に実行されても問...
...スレッドローカル
: thread local
変数のスコープなどがスレッドごとに別々であること。

例えば特殊変数のうち $0(現在実行中のスクリプトのファイル名)は
グローバルスコープであり、どのスレッドから参照しても同...

Monitor (50.0)

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

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

MonitorMixin を include し、いくつかの別名を定義したクラスです。

=== 例

//emlist[...
...問題の例][ruby]{
require '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...
...'monitor'
mon = Monitor.new
mon.synchronize {
mon.synchronize {
}
}
//}

Thread
::Mutex ではデッドロックになります。

//emlist[Mutex でデッドロックになる例][ruby]{
mx = Mutex.new
mx.synchronize {
mx.synchronize {
}
}
# => deadlock; recursive locking (ThreadError)
//}...

MonitorMixin (28.0)

スレッドの同期機構としてのモニター機能を提供するモジュールです。

...スレッドの同期機構としてのモニター機能を提供するモジュールです。

クラスに Module#include したり、オブジェクトに
Object#extend したりすることでそのクラス/オブジェクトに
モニタ機能を追加します。

=== 例

//emlist[消費...
...y_cond = buf.new_cond # 配列が空であるかないかを通知する条件変数

# consumer
Thread
.start do
loop do
buf.synchronize do # ロックする
empty_cond.wait_while { buf.empty? } # 配列が空である間はロックを開放して待つ
print buf.shift # 配列が...

絞り込み条件を変える