るりまサーチ (Ruby 2.2.0)

最速Rubyリファレンスマニュアル検索!
410件ヒット [1-100件を表示] (0.155秒)
トップページ > クエリ:t[x] > クエリ:thread[x] > バージョン:2.2.0[x]

別のキーワード

  1. openssl t61string
  2. asn1 t61string
  3. matrix t
  4. t61string new
  5. fiddle type_size_t

ライブラリ

モジュール

キーワード

検索結果

<< 1 2 3 ... > >>

thread (192037.0)

スレッド間キューや状態変数 (condition variable) を提供するライブラリです。

スレッド間キューや状態変数 (condition variable) を提供するライブラリです。

このライブラリは Thread を拡張します。rubyインタプリタを
デバッグオプション付き($DEBUGを真)で実行したときには、
Thread.abort_on_exception を true にします。

static const char * thread_status_name(enum thread_status status) (97801.0)

static void thread_free(rb_thread_t th) (96901.0)

static void thread_mark(rb_thread_t th) (96901.0)

static int thread_keys_i(ID key, VALUE value, VALUE ary) (96601.0)

絞り込み条件を変える

static int thread_switch(int n) (96601.0)

static void rb_thread_wait_other_threads(void) (90901.0)

static VALUE thgroup_add(VALUE group, VALUE thread) (78601.0)

Net::IMAP#thread(algorithm, search_keys, charset) -> [Net::IMAP::ThreadMember] (73588.0)

THREADコマンドを送り、メールボックスを検索した結果を スレッド形式の木構造で返します。

THREADコマンドを送り、メールボックスを検索した結果を
スレッド形式の木構造で返します。

THREAD コマンドは 5256 で定義されています。
詳しくはそちらを参照してください。
このコマンドは Net::IMAP#capability の返り値を見ることで
利用可能かどうか判断できます。

algorithm は木構造を決定するためのアルゴリズムを指定します。
以下の2つが利用可能です。
* "ORDEREDSUBJECT" subjectを使って平坦に区切るだけ
* "REFERENCES" どのメッセージに返事をしているかを見て木構造を作る
詳しくは 5256 を見てく...

IRB::Context#thread -> Thread (73225.0)

現在のスレッドを返します。

現在のスレッドを返します。

@see Thread.current

絞り込み条件を変える

DRb.#thread -> Thread|nil (73207.0)

プライマリサーバが動作しているスレッドを返します。

プライマリサーバが動作しているスレッドを返します。

プライマリサーバが存在しない場合は nil を返します。

@see DRb.#primary_server

DRb::DRbServer#thread -> Thread (73207.0)

サーバのメインスレッドを返します。

サーバのメインスレッドを返します。

このスレッドはクライアントからの接続を受け付けるスレッドであって、
クライアントへの応答をするスレッドではありません。

Thread::MUTEX_FOR_THREAD_EXCLUSIVE -> Mutex (72952.0)

Thread.exclusive用のMutexオブジェクトです。

Thread.exclusive用のMutexオブジェクトです。

Thread#thread_variable_get(key) -> object | nil (72856.0)

引数 key で指定した名前のスレッドローカル変数を返します。

引数 key で指定した名前のスレッドローカル変数を返します。

[注意]: Thread#[] でセットしたローカル変数(Fiber ローカル変数)と
異なり、Fiber を切り替えても同じ変数を返す事に注意してください。

例:

Thread.new {
Thread.current.thread_variable_set("foo", "bar") # スレッドローカル
Thread.current["foo"] = "bar" # Fiber ローカル

Fiber.new {
Fiber.yield ...

Thread#thread_variable_set(key, value) (72802.0)

引数 key で指定した名前のスレッドローカル変数に引数 value をセットしま す。

引数 key で指定した名前のスレッドローカル変数に引数 value をセットしま
す。

[注意]: Thread#[] でセットしたローカル変数(Fiber ローカル変数)と
異なり、セットした変数は Fiber を切り替えても共通で使える事に注意してく
ださい。

//emlist[例][ruby]{
thr = Thread.new do
Thread.current.thread_variable_set(:cat, 'meow')
Thread.current.thread_variable_set("dog", 'woof')
end
thr.join ...

絞り込み条件を変える

Thread#thread_variable?(key) -> bool (72748.0)

引数 key で指定した名前のスレッドローカル変数が存在する場合に true、そ うでない場合に false を返します。

引数 key で指定した名前のスレッドローカル変数が存在する場合に true、そ
うでない場合に false を返します。

@param key 変数名を String か Symbol で指定します。

me = Thread.current
me.thread_variable_set(:oliver, "a")
me.thread_variable?(:oliver) # => true
me.thread_variable?(:stanley) # => false

[注意]: Thread#[] でセットしたローカル変数(Fiber ローカル...

Thread::Queue#length -> Integer (60319.0)

キューの長さを返します。

キューの長さを返します。

//emlist[例][ruby]{
require 'thread'
q = Queue.new

[:resource1, :resource2, :resource3, nil].each { |r| q.push(r) }

q.length # => 4
//}

ThreadsWait#threads -> Array (54691.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>, #<Thread:0x21638 sleep>]

Thread#terminate -> self (54637.0)

スレッドの実行を終了させます。終了時に ensure 節が実行されます。

スレッドの実行を終了させます。終了時に ensure 節が実行されます。

ただし、スレッドは終了処理中(aborting)にはなりますが、
直ちに終了するとは限りません。すでに終了している場合は何もしません。このメソッドにより
終了したスレッドの Thread#value の返り値は不定です。
自身がメインスレッドであるか最後のスレッドである場合は、プロセスを Kernel.#exit(0)
により終了します。

Kernel.#exit と違い例外 SystemExit を発生しません。

th1 = Thread.new do
begin
sleep 10
...

ThreadsWait::ErrNoFinishedThread (54001.0)

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

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

@see ThreadsWait#next_wait

絞り込み条件を変える

ThreadsWait::ErrNoWaitingThread (54001.0)

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

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

@see ThreadsWait#next_wait

Thread::ConditionVariable#wait(mutex, timeout = nil) -> self (51451.0)

mutex のロックを解放し、カレントスレッドを停止します。 Thread::ConditionVariable#signalまたは、 Thread::ConditionVariable#broadcastで送られたシグナルを 受け取ると、mutexのロックを取得し、実行状態となります。

mutex のロックを解放し、カレントスレッドを停止します。
Thread::ConditionVariable#signalまたは、
Thread::ConditionVariable#broadcastで送られたシグナルを
受け取ると、mutexのロックを取得し、実行状態となります。

@param mutex Thread::Mutex オブジェクトを指定します。

@param timeout スリープする秒数を指定します。この場合はシグナルを受け取
らなかった場合でも指定した秒数が経過するとスリープを終了
します。省略する...

Thread::Queue#num_waiting -> Integer (51391.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
//}

Thread::SizedQueue#shift(non_block = false) -> object (51391.0)

キューからひとつ値を取り出します。 キューに push しようと待っているスレッドがあれば、実行を再開させます。

キューからひとつ値を取り出します。
キューに push しようと待っているスレッドがあれば、実行を再開させます。

@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。

//emlist[例][ruby]{
require 'thread'

q = SizedQueue.new(4)

th1 = Thread.start do
while resource = q.pop
puts resource
end
end

[:resource1, :resource2, :resource3, nil].eac...

Thread::ConditionVariable#broadcast -> self (51385.0)

状態変数を待っているスレッドをすべて再開します。再開された スレッドは Thread::ConditionVariable#wait で指定した mutex のロックを試みます。

状態変数を待っているスレッドをすべて再開します。再開された
スレッドは Thread::ConditionVariable#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::Queue#shift(non_block = false) -> object (51373.0)

キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。

キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。

@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。

//emlist[例][ruby]{
require 'thread'

q = Queue.new

th1 = Thread.start do
while resource = q.pop
puts resource
end
end

[:resource1, :resource2, :resource3, nil].each { |r|
q.push(r)
}

t...

Thread::Queue#empty? -> bool (51319.0)

キューが空の時、真を返します。

キューが空の時、真を返します。

//emlist[例][ruby]{
require 'thread'
q = Queue.new
q.empty? # => true
q.push(:resource)
q.empty? # => false
//}

Thread::Queue#size -> Integer (51319.0)

キューの長さを返します。

キューの長さを返します。

//emlist[例][ruby]{
require 'thread'
q = Queue.new

[:resource1, :resource2, :resource3, nil].each { |r| q.push(r) }

q.length # => 4
//}

Thread::ConditionVariable (51127.0)

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

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

以下も ConditionVariable を理解するのに参考になります。

https://ruby-doc.com/docs/ProgrammingRuby/html/tut_threads.html#UF

=== Condition Variable とは

あるスレッド A が排他領域で動いていたとします。スレッド A は現在空いていない
リソースが必要になったので空くまで待つことにしたとします。これはうまくいきません。
なぜなら、スレッド A は排他領域で動いているわけですから、他のスレッドは動くことが
できません。リ...

Etc::SC_THREAD_THREADS_MAX -> Integer (46246.0)

Etc.#sysconf の引数に指定します。

Etc.#sysconf の引数に指定します。

詳細は sysconf(3) を参照してください。

絞り込み条件を変える

Thread#backtrace_locations(range) -> [Thread::Backtrace::Location] | nil (46045.0)

スレッドの現在のバックトレースを Thread::Backtrace::Location の配 列で返します。

スレッドの現在のバックトレースを Thread::Backtrace::Location の配
列で返します。

引数で指定した値が範囲外の場合、スレッドがすでに終了している場合は nil
を返します。

@param start 開始フレームの位置を数値で指定します。

@param length 取得するフレームの個数を指定します。

@param range 取得したいフレームの範囲を示す Range オブジェクトを指定します。

Kernel.#caller_locations と似ていますが、本メソッドは self に限定
した情報を返します。

//emlist[例][ruby]...

Thread#backtrace_locations(start = 0, length = nil) -> [Thread::Backtrace::Location] | nil (46045.0)

スレッドの現在のバックトレースを Thread::Backtrace::Location の配 列で返します。

スレッドの現在のバックトレースを Thread::Backtrace::Location の配
列で返します。

引数で指定した値が範囲外の場合、スレッドがすでに終了している場合は nil
を返します。

@param start 開始フレームの位置を数値で指定します。

@param length 取得するフレームの個数を指定します。

@param range 取得したいフレームの範囲を示す Range オブジェクトを指定します。

Kernel.#caller_locations と似ていますが、本メソッドは self に限定
した情報を返します。

//emlist[例][ruby]...

Thread.start(*arg) {|*arg| ... } -> Thread (45697.0)

スレッドを生成して、ブロックの評価を開始します。 生成したスレッドを返します。

スレッドを生成して、ブロックの評価を開始します。
生成したスレッドを返します。

基本的に Thread.new と同じですが、
new メソッドと違い initialize メソッドを呼びません。

@param arg 引数 arg はそのままブロックに渡されます。スレッドの開始と同時にその
スレッド固有のローカル変数に値を渡すために使用します。

@raise ThreadError 現在のスレッドが属する ThreadGroup が freeze されている場合に発生します。またブロックを与えられずに呼ばれた場合にも発生します。


注意:

例えば、以下のコー...

Thread.list -> [Thread] (45676.0)

全ての生きているスレッドを含む配列を生成して返します。aborting 状態であるスレッド も要素に含まれます。

全ての生きているスレッドを含む配列を生成して返します。aborting 状態であるスレッド
も要素に含まれます。

Thread.new do
sleep
end
sleep 0.1

p Thread.list #=> [#<Thread:0x40377a54 sleep>, #<Thread:0x4022e6fc run>]

Thread.current -> Thread (45640.0)

現在実行中のスレッド(カレントスレッド)を返します。

現在実行中のスレッド(カレントスレッド)を返します。

p Thread.current #=> #<Thread:0x4022e6fc run>

絞り込み条件を変える

Thread#backtrace -> [String] | nil (45637.0)

スレッドの現在のバックトレースを返します。

スレッドの現在のバックトレースを返します。

スレッドがすでに終了している場合は nil を返します。

//emlist[例][ruby]{
class C1
def m1
sleep 5
end
def m2
m1
end
end

th = Thread.new {C1.new.m2; Thread.stop}
th.backtrace
# => [
# [0] "(irb):3:in `sleep'",
# [1] "(irb):3:in `m1'",
# [2] "(irb):6:in `m2'",
# [3] ...

Thread.handle_interrupt(hash) { ... } -> object (45571.0)

スレッドの割り込みのタイミングを引数で指定した内容に変更してブロックを 実行します。

スレッドの割り込みのタイミングを引数で指定した内容に変更してブロックを
実行します。

「割り込み」とは、非同期イベントや Thread#raise や
Thread#kill、Signal.#trap(未サポート)、メインスレッドの終了
(メインスレッドが終了すると、他のスレッドも終了されます)を意味します。

@param hash 例外クラスがキー、割り込みのタイミングを指定する
Symbol が値の Hash を指定します。
値の内容は以下のいずれかです。

: :immediate

すぐに割り込みます。

: :on_block...

Thread.pending_interrupt?(error = nil) -> bool (45535.0)

非同期割り込みのキューが空かどうかを返します。

非同期割り込みのキューが空かどうかを返します。

Thread.handle_interrupt は非同期割り込みの発生を延期させるのに使
用しますが、本メソッドは任意の非同期割り込みが存在するかどうかを確認す
るのに使用します。

本メソッドが true を返した場合、Thread.handle_interrupt で例外の
発生を延期するブロックを終了すると延期させられていた例外を発生させるこ
とができます。

@param error 対象の例外クラスを指定します。省略した場合は全ての例外を対
象に確認を行います。

例: 延期させられていた例外をただちに発生...

Thread#status -> String | false | nil (45499.0)

生きているスレッドの状態を文字列 "run"、"sleep", "aborting" のいず れかで返します。正常終了したスレッドに対して false、例外によ り終了したスレッドに対して nil を返します。

生きているスレッドの状態を文字列 "run"、"sleep", "aborting" のいず
れかで返します。正常終了したスレッドに対して false、例外によ
り終了したスレッドに対して nil を返します。

Thread#alive? が真を返すなら、このメソッドも真です。

例:
a = Thread.new { raise("die now") }
b = Thread.new { Thread.stop }
c = Thread.new { Thread.exit }
d = Thread.new { sleep }
d.kill ...

Thread#abort_on_exception -> bool (45457.0)

真の場合、そのスレッドが例外によって終了した時に、インタプリタ 全体を中断させます。false の場合、あるスレッドで起こった例 外は、Thread#join などで検出されない限りそのスレッ ドだけをなにも警告を出さずに終了させます。

真の場合、そのスレッドが例外によって終了した時に、インタプリタ
全体を中断させます。false の場合、あるスレッドで起こった例
外は、Thread#join などで検出されない限りそのスレッ
ドだけをなにも警告を出さずに終了させます。

デフォルトは偽です。c:Thread#exceptionを参照してください。

@param newstate 自身を実行中に例外発生した場合、インタプリタ全体を終了させるかどうかを true か false で指定します。

//emlist[例][ruby]{
thread = Thread.new { sleep 1 }
thread.abort_o...

絞り込み条件を変える

Thread#abort_on_exception=(newstate) (45457.0)

真の場合、そのスレッドが例外によって終了した時に、インタプリタ 全体を中断させます。false の場合、あるスレッドで起こった例 外は、Thread#join などで検出されない限りそのスレッ ドだけをなにも警告を出さずに終了させます。

真の場合、そのスレッドが例外によって終了した時に、インタプリタ
全体を中断させます。false の場合、あるスレッドで起こった例
外は、Thread#join などで検出されない限りそのスレッ
ドだけをなにも警告を出さずに終了させます。

デフォルトは偽です。c:Thread#exceptionを参照してください。

@param newstate 自身を実行中に例外発生した場合、インタプリタ全体を終了させるかどうかを true か false で指定します。

//emlist[例][ruby]{
thread = Thread.new { sleep 1 }
thread.abort_o...

Thread.abort_on_exception -> bool (45421.0)

真の時は、いずれかのスレッドが例外によって終了した時に、インタプリタ 全体を中断させます。false の場合、あるスレッドで起こった例外は、Thread#join などで検出されない限りそのスレッドだけをなにも警告を出さずに終了させます。

真の時は、いずれかのスレッドが例外によって終了した時に、インタプリタ
全体を中断させます。false の場合、あるスレッドで起こった例外は、Thread#join
などで検出されない限りそのスレッドだけをなにも警告を出さずに終了させます。

デフォルトは false です。

c:Thread#exceptionを参照してください。

@param newstate スレッド実行中に例外発生した場合、インタプリタ全体を終了させるかどうかを true か false で指定します。

//emlist[例][ruby]{
Thread.abort_on_exception # => false...

Thread.abort_on_exception=(newstate) (45421.0)

真の時は、いずれかのスレッドが例外によって終了した時に、インタプリタ 全体を中断させます。false の場合、あるスレッドで起こった例外は、Thread#join などで検出されない限りそのスレッドだけをなにも警告を出さずに終了させます。

真の時は、いずれかのスレッドが例外によって終了した時に、インタプリタ
全体を中断させます。false の場合、あるスレッドで起こった例外は、Thread#join
などで検出されない限りそのスレッドだけをなにも警告を出さずに終了させます。

デフォルトは false です。

c:Thread#exceptionを参照してください。

@param newstate スレッド実行中に例外発生した場合、インタプリタ全体を終了させるかどうかを true か false で指定します。

//emlist[例][ruby]{
Thread.abort_on_exception # => false...

Thread.stop -> nil (45421.0)

他のスレッドから Thread#run メソッドで再起動されるまで、カレ ントスレッドの実行を停止します。

他のスレッドから Thread#run メソッドで再起動されるまで、カレ
ントスレッドの実行を停止します。

//emlist[例][ruby]{
a = Thread.new { print "a"; Thread.stop; print "c" }
sleep 0.1 while a.status!='sleep'
print "b"
a.run
a.join
# => "abc"
//}

@see Thread#run, Thread#wakeup

Thread#set_trace_func(pr) -> Proc | nil (45409.0)

スレッドにトレース用ハンドラを設定します。

スレッドにトレース用ハンドラを設定します。

nil を渡すとトレースを解除します。

設定したハンドラを返します。

//emlist[例][ruby]{
th = Thread.new do
class Trace
end
2.to_s
Thread.current.set_trace_func nil
3.to_s
end
th.set_trace_func lambda {|*arg| p arg }
th.join

# => ["line", "example.rb", 2, nil, #<Binding:0x00007fc8de87cb08>, nil]
#...

絞り込み条件を変える

Thread#stop? -> bool (45391.0)

スレッドが終了(dead)あるいは停止(stop)している時、true を返します。

スレッドが終了(dead)あるいは停止(stop)している時、true を返します。

//emlist[例][ruby]{
a = Thread.new { Thread.stop }
b = Thread.current
a.stop? # => true
b.stop? # => false
//}

@see Thread#alive?, Thread#status

Thread#inspect -> String (45373.0)

自身を人間が読める形式に変換した文字列を返します。

自身を人間が読める形式に変換した文字列を返します。

//emlist[例][ruby]{
a = Thread.current
a.inspect # => "#<Thread:0x00007fdbaf07ddb0 run>"
b = Thread.new{}
b.inspect # => "#<Thread:0x00007fdbaf8f7d10@(irb):3 dead>"
//}

Thread#priority -> Integer (45355.0)

スレッドの優先度を返します。この値が大きいほど優先度が高くなります。 メインスレッドのデフォルト値は 0 です。新しく生成されたスレッドは親スレッドの priority を引き継ぎます。

スレッドの優先度を返します。この値が大きいほど優先度が高くなります。
メインスレッドのデフォルト値は 0 です。新しく生成されたスレッドは親スレッドの
priority を引き継ぎます。

@param val スレッドの優先度を指定します。プラットフォームに依存します。

//emlist[例][ruby]{
Thread.current.priority # => 0

count1 = count2 = 0
a = Thread.new do
loop { count1 += 1 }
end
a.priority = -1

b = Thread.new do
...

Thread#priority=(val) (45355.0)

スレッドの優先度を返します。この値が大きいほど優先度が高くなります。 メインスレッドのデフォルト値は 0 です。新しく生成されたスレッドは親スレッドの priority を引き継ぎます。

スレッドの優先度を返します。この値が大きいほど優先度が高くなります。
メインスレッドのデフォルト値は 0 です。新しく生成されたスレッドは親スレッドの
priority を引き継ぎます。

@param val スレッドの優先度を指定します。プラットフォームに依存します。

//emlist[例][ruby]{
Thread.current.priority # => 0

count1 = count2 = 0
a = Thread.new do
loop { count1 += 1 }
end
a.priority = -1

b = Thread.new do
...

Thread.exit -> () (45349.0)

カレントスレッドに対して Thread#exit を呼びます。

カレントスレッドに対して Thread#exit を呼びます。

絞り込み条件を変える

Thread#add_trace_func(pr) -> Proc (45337.0)

スレッドにトレース用ハンドラを追加します。

スレッドにトレース用ハンドラを追加します。

追加したハンドラを返します。

@param pr トレースハンドラ(Proc オブジェクト)

//emlist[例][ruby]{
th = Thread.new do
class Trace
end
43.to_s
end
th.add_trace_func lambda {|*arg| p arg }
th.join

# => ["line", "example.rb", 4, nil, #<Binding:0x00007f98e107d0d8>, nil]
# => ["c-call", "example.rb", 4, ...

Thread#exit -> self (45337.0)

スレッドの実行を終了させます。終了時に ensure 節が実行されます。

スレッドの実行を終了させます。終了時に ensure 節が実行されます。

ただし、スレッドは終了処理中(aborting)にはなりますが、
直ちに終了するとは限りません。すでに終了している場合は何もしません。このメソッドにより
終了したスレッドの Thread#value の返り値は不定です。
自身がメインスレッドであるか最後のスレッドである場合は、プロセスを Kernel.#exit(0)
により終了します。

Kernel.#exit と違い例外 SystemExit を発生しません。

th1 = Thread.new do
begin
sleep 10
...

Thread#pending_interrupt?(error = nil) -> bool (45319.0)

self の非同期例外のキューが空かどうかを返します。

self の非同期例外のキューが空かどうかを返します。

@param error 対象の例外クラスを指定します。


@see Thread.pending_interrupt?

Thread::SizedQueue.new(max) -> Thread::SizedQueue (42652.0)

Thread::SizedQueue オブジェクトを生成します。

Thread::SizedQueue オブジェクトを生成します。

@param max キューのサイズの最大値です。

Thread::ConditionVariable.new -> Thread::ConditionVariable (42604.0)

状態変数を生成して返します。

状態変数を生成して返します。

絞り込み条件を変える

Thread::Queue.new -> Thread::Queue (42604.0)

新しいキューオブジェクトを生成します。

新しいキューオブジェクトを生成します。

Thread::SizedQueue#deq(non_block = false) -> object (42391.0)

キューからひとつ値を取り出します。 キューに push しようと待っているスレッドがあれば、実行を再開させます。

キューからひとつ値を取り出します。
キューに push しようと待っているスレッドがあれば、実行を再開させます。

@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。

//emlist[例][ruby]{
require 'thread'

q = SizedQueue.new(4)

th1 = Thread.start do
while resource = q.pop
puts resource
end
end

[:resource1, :resource2, :resource3, nil].eac...

Thread::SizedQueue#pop(non_block = false) -> object (42391.0)

キューからひとつ値を取り出します。 キューに push しようと待っているスレッドがあれば、実行を再開させます。

キューからひとつ値を取り出します。
キューに push しようと待っているスレッドがあれば、実行を再開させます。

@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。

//emlist[例][ruby]{
require 'thread'

q = SizedQueue.new(4)

th1 = Thread.start do
while resource = q.pop
puts resource
end
end

[:resource1, :resource2, :resource3, nil].eac...

Thread::Queue#deq(non_block = false) -> object (42373.0)

キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。

キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。

@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。

//emlist[例][ruby]{
require 'thread'

q = Queue.new

th1 = Thread.start do
while resource = q.pop
puts resource
end
end

[:resource1, :resource2, :resource3, nil].each { |r|
q.push(r)
}

t...

Thread::Queue#pop(non_block = false) -> object (42373.0)

キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。

キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。

@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。

//emlist[例][ruby]{
require 'thread'

q = Queue.new

th1 = Thread.start do
while resource = q.pop
puts resource
end
end

[:resource1, :resource2, :resource3, nil].each { |r|
q.push(r)
}

t...

絞り込み条件を変える

Thread::SizedQueue#max -> Integer (42301.0)

キューの最大サイズを返します。

キューの最大サイズを返します。

//emlist[例][ruby]{
q = SizedQueue.new(4)
q.max # => 4
//}

Thread::ConditionVariable#signal -> self (42085.0)

状態変数を待っているスレッドを1つ再開します。再開された スレッドは Thread::ConditionVariable#wait で指定した mutex のロックを試みます。

状態変数を待っているスレッドを1つ再開します。再開された
スレッドは Thread::ConditionVariable#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::SizedQueue (42085.0)

サイズの最大値を指定できる Thread::Queue です。

サイズの最大値を指定できる Thread::Queue です。

=== 例

283 より。q をサイズ 1 の SizedQueue オブジェクトに
することによって、入力される行と出力される行が同じ順序になります。
q = [] にすると入力と違った順序で行が出力されます。

require 'thread'

q = SizedQueue.new(1)

th = Thread.start {
while line = q.pop
print line
end
}

while l = gets
q.push(l)
end
...

Thread::Queue (42055.0)

Queue はスレッド間の FIFO(first in first out) の通信路です。ス レッドが空のキューを読み出そうとすると停止します。キューになんら かの情報が書き込まれると実行は再開されます。

Queue はスレッド間の FIFO(first in first out) の通信路です。ス
レッドが空のキューを読み出そうとすると停止します。キューになんら
かの情報が書き込まれると実行は再開されます。

最大サイズが指定できる Queue のサブクラス Thread::SizedQueue も提供されています。

=== 例

require 'thread'

q = Queue.new

th1 = Thread.start do
while resource = q.pop
puts resource
end
end

[:resou...

Thread::SizedQueue#<<(obj) -> () (42055.0)

キューに与えられたオブジェクトを追加します。

キューに与えられたオブジェクトを追加します。

キューのサイズが Thread::SizedQueue#max に達している場合は、
non_block が真でなければ、キューのサイズが Thread::SizedQueue#max
より小さくなるまで他のスレッドに実行を譲ります。
その後、キューに与えられたオブジェクトを追加します。

@param obj キューに追加したいオブジェクトを指定します。
@param non_block true を与えると、キューが一杯の時に例外 ThreadError が発生します。

@see Thread::Queue#push

絞り込み条件を変える

Thread::SizedQueue#enq(obj, non_block = false) -> () (42055.0)

キューに与えられたオブジェクトを追加します。

キューに与えられたオブジェクトを追加します。

キューのサイズが Thread::SizedQueue#max に達している場合は、
non_block が真でなければ、キューのサイズが Thread::SizedQueue#max
より小さくなるまで他のスレッドに実行を譲ります。
その後、キューに与えられたオブジェクトを追加します。

@param obj キューに追加したいオブジェクトを指定します。
@param non_block true を与えると、キューが一杯の時に例外 ThreadError が発生します。

@see Thread::Queue#push

Thread::SizedQueue#push(obj, non_block = false) -> () (42055.0)

キューに与えられたオブジェクトを追加します。

キューに与えられたオブジェクトを追加します。

キューのサイズが Thread::SizedQueue#max に達している場合は、
non_block が真でなければ、キューのサイズが Thread::SizedQueue#max
より小さくなるまで他のスレッドに実行を譲ります。
その後、キューに与えられたオブジェクトを追加します。

@param obj キューに追加したいオブジェクトを指定します。
@param non_block true を与えると、キューが一杯の時に例外 ThreadError が発生します。

@see Thread::Queue#push

ConditionVariable (42049.0)

Alias of Thread::ConditionVariable

Alias of Thread::ConditionVariable

Thread::Queue#clear -> () (42019.0)

キューを空にします。返り値は不定です。

キューを空にします。返り値は不定です。

//emlist[例][ruby]{
require 'thread'
q = Queue.new

[:resource1, :resource2, :resource3, nil].each { |r| q.push(r) }

q.length # => 4
q.clear
q.length # => 0
//}

Thread::SizedQueue#max=(n) (42019.0)

キューの最大サイズを設定します。

キューの最大サイズを設定します。

@param n キューの最大サイズを指定します。

//emlist[例][ruby]{
require 'thread'
q = SizedQueue.new(4)
q.max # => 4
q.max = 5
q.max # => 5
//}

絞り込み条件を変える

Thread::Queue#<<(value) -> () (42001.0)

キューの値を追加します。待っているスレッドがいれば実行を再開 させます。返り値は不定です。

キューの値を追加します。待っているスレッドがいれば実行を再開
させます。返り値は不定です。

Thread::Queue#enq(value) -> () (42001.0)

キューの値を追加します。待っているスレッドがいれば実行を再開 させます。返り値は不定です。

キューの値を追加します。待っているスレッドがいれば実行を再開
させます。返り値は不定です。

Thread::Queue#push(value) -> () (42001.0)

キューの値を追加します。待っているスレッドがいれば実行を再開 させます。返り値は不定です。

キューの値を追加します。待っているスレッドがいれば実行を再開
させます。返り値は不定です。

Net::IMAP#uid_thread(algorithm, search_keys, charset) -> [Net::IMAP::ThreadMember] (37588.0)

THREADコマンドを送り、メールボックスを検索した結果を スレッド形式の木構造で返します。

THREADコマンドを送り、メールボックスを検索した結果を
スレッド形式の木構造で返します。

ほぼ Net::IMAP#thread と同じですが、返ってくるオブジェクトの
Net::IMAP::ThreadMember#seqno の内容が message sequence number
ではなく UID となります。

@param algorithm スレッド構造構築アルゴリズム名(文字列)
@param search_key 検索条件(文字列配列)
@param charset 検索条件の解釈に用いるCHARSET名(文字列)
@see Net::IMAP::ThreadMember...

Thread.kill(thread) -> Thread (37393.0)

指定したスレッド thread に対して Thread#exit を呼びます。終了したスレッドを返します。

指定したスレッド thread に対して Thread#exit を呼びます。終了したスレッドを返します。

@param thread 終了したい Thread オブジェクトを指定します。

th = Thread.new do
end

p Thread.kill(th) #=> #<Thread:0x40221bc8 dead>

絞り込み条件を変える

VALUE rb_thread_run(VALUE thread) (37249.0)

スレッド thread に実行権を渡します。

スレッド thread に実行権を渡します。

VALUE rb_thread_wakeup(VALUE thread) (37249.0)

停止中のスレッド thread を再開させます。

停止中のスレッド thread を再開させます。

VALUE rb_thread_local_aref(VALUE thread, ID id) (37201.0)

VALUE rb_thread_local_aset(VALUE thread, ID id, VALUE val) (37201.0)

static VALUE rb_thread_start_0(VALUE (*fn)(), void *arg, rb_thread_t th_arg) (37201.0)

絞り込み条件を変える

static VALUE rb_thread_status(VALUE thread) (37201.0)

static rb_thread_t rb_thread_check(VALUE data) (37201.0)

Net::IMAP#client_thread -> Thread (36907.0)

このメソッドは obsolete です。使わないでください。

このメソッドは obsolete です。使わないでください。

int rb_thread_fd_writable(int fd) (36901.0)

static VALUE rb_thread_abort_exc(VALUE thread) (36901.0)

絞り込み条件を変える

static VALUE rb_thread_abort_exc_set(VALUE thread, VALUE val) (36901.0)

static VALUE rb_thread_alive_p(VALUE thread) (36901.0)

static VALUE rb_thread_aref(VALUE thread, VALUE id) (36901.0)

static VALUE rb_thread_aset(VALUE thread, VALUE id, VALUE val) (36901.0)

static VALUE rb_thread_initialize(VALUE thread, VALUE args) (36901.0)

絞り込み条件を変える

static VALUE rb_thread_inspect(VALUE thread) (36901.0)

static VALUE rb_thread_join_m(int argc, VALUE *argv, VALUE thread) (36901.0)

static VALUE rb_thread_key_p(VALUE thread, VALUE id) (36901.0)

static VALUE rb_thread_keys(VALUE thread) (36901.0)

static VALUE rb_thread_kill(VALUE thread) (36901.0)

絞り込み条件を変える

static VALUE rb_thread_priority(VALUE thread) (36901.0)

static VALUE rb_thread_priority_set(VALUE thread, VALUE prio) (36901.0)

static VALUE rb_thread_raise(int argc, VALUE *argv, rb_thread_t th) (36901.0)

static VALUE rb_thread_raise_m(int argc, VALUE *argv, VALUE thread) (36901.0)

static VALUE rb_thread_safe_level(VALUE thread) (36901.0)

絞り込み条件を変える

<< 1 2 3 ... > >>