別のキーワード
ライブラリ
- ビルトイン (644)
- drb (12)
- fiber (8)
-
irb
/ context (12) - monitor (4)
-
net
/ imap (48) - thread (26)
- thwait (18)
- timeout (16)
-
webrick
/ server (12)
クラス
-
DRb
:: DRbServer (12) - Exception (12)
- Fiber (24)
- IO (24)
-
IRB
:: Context (12) - Monitor (4)
- Mutex (2)
-
Net
:: IMAP (24) -
Net
:: IMAP :: ThreadMember (24) - Thread (306)
-
Thread
:: Backtrace :: Location (84) -
Thread
:: ConditionVariable (36) -
Thread
:: Mutex (40) -
Thread
:: Queue (58) -
Thread
:: SizedQueue (80) - ThreadGroup (12)
- ThreadsWait (18)
-
WEBrick
:: GenericServer (12)
モジュール
- Kernel (16)
キーワード
- << (12)
- [] (12)
-
abort
_ on _ exception (12) -
abort
_ on _ exception= (12) -
absolute
_ path (12) -
add
_ trace _ func (12) - alive? (12)
- backtrace (12)
-
backtrace
_ locations (36) -
base
_ label (12) - broadcast (12)
- children (12)
- closed? (10)
- deq (24)
- empty? (26)
- enclosed? (12)
- enq (12)
- eof (12)
- eof? (12)
- fetch (8)
- finished? (6)
-
ignore
_ deadlock (4) -
ignore
_ deadlock= (4) - inspect (24)
- key? (12)
- keys (12)
- label (12)
- lineno (12)
- locked? (10)
-
next
_ wait (6) - owned? (12)
- path (12)
-
pending
_ interrupt? (12) - pop (24)
- priority (12)
- priority= (12)
- push (12)
- raise (12)
-
report
_ on _ exception (9) -
report
_ on _ exception= (9) - resume (12)
- seqno (12)
-
set
_ trace _ func (12) - shift (24)
- signal (12)
- status (12)
- stop? (12)
- synchronize (10)
-
thread
_ variable? (12) -
thread
_ variable _ get (12) -
thread
_ variable _ set (12) - timeout (16)
-
to
_ s (20) - tokens (12)
- transfer (12)
-
try
_ lock (10) -
uid
_ thread (12) - value (12)
- wait (12)
-
wait
_ for _ cond (4)
検索結果
先頭5件
-
Thread
# thread _ variable _ get(key) -> object | nil (21286.0) -
引数 key で指定した名前のスレッドローカル変数を返します。
...注意]: Thread#[] でセットしたローカル変数(Fiber ローカル変数)と
異なり、Fiber を切り替えても同じ変数を返す事に注意してください。
例:
Thread.new {
Thread.current.thread_variable_set("foo", "bar") # スレッドローカル
Thread.current......["foo"] = "bar" # Fiber ローカル
Fiber.new {
Fiber.yield [
Thread.current.thread_variable_get("foo"), # スレッドローカル
Thread.current["foo"], # Fiber ローカル
]
}.resume
}.join.value # => ['bar', nil]......この例の "bar" は Thread#thread_variable_get により得られ
た値で、nil はThread#[] により得られた値です。
@see Thread#thread_variable_set, Thread#[]
@see https://magazine.rubyist.net/articles/0041/0041-200Special-note.html... -
Thread
# thread _ variable _ set(key , value) (21274.0) -
引数 key で指定した名前のスレッドローカル変数に引数 value をセットしま す。
...]: Thread#[] でセットしたローカル変数(Fiber ローカル変数)と
異なり、セットした変数は Fiber を切り替えても共通で使える事に注意してく
ださい。
//emlist[例][ruby]{
thr = Thread.new do
Thread.current.thread_variable_set(:cat, 'meow')
Thread.c......urrent.thread_variable_set("dog", 'woof')
end
thr.join # => #<Thread:0x401b3f10 dead>
thr.thread_variables # => [:dog, :cat]
//}
@see Thread#thread_variable_get, Thread#[]... -
Thread
# thread _ variable?(key) -> bool (21250.0) -
引数 key で指定した名前のスレッドローカル変数が存在する場合に true、そ うでない場合に false を返します。
...y 変数名を String か Symbol で指定します。
me = Thread.current
me.thread_variable_set(:oliver, "a")
me.thread_variable?(:oliver) # => true
me.thread_variable?(:stanley) # => false
[注意]: Thread#[] でセットしたローカル変数(Fiber ローカル変数)が......対象ではない事に注意してください。
@see Thread#thread_variable_get, Thread#[]... -
IRB
:: Context # thread -> Thread (21209.0) -
現在のスレッドを返します。
...現在のスレッドを返します。
@see Thread.current... -
DRb
:: DRbServer # thread -> Thread (21203.0) -
サーバのメインスレッドを返します。
サーバのメインスレッドを返します。
このスレッドはクライアントからの接続を受け付けるスレッドであって、
クライアントへの応答をするスレッドではありません。 -
Net
:: IMAP # thread(algorithm , search _ keys , charset) -> [Net :: IMAP :: ThreadMember] (18330.0) -
THREADコマンドを送り、メールボックスを検索した結果を スレッド形式の木構造で返します。
...THREADコマンドを送り、メールボックスを検索した結果を
スレッド形式の木構造で返します。
THREAD コマンドは 5256 で定義されています。
詳しくはそちらを参照してください。
このコマンドは Net::IMAP#capability の返り値を見......。
algorithm は木構造を決定するためのアルゴリズムを指定します。
以下の2つが利用可能です。
* "ORDEREDSUBJECT" subjectを使って平坦に区切るだけ
* "REFERENCES" どのメッセージに返事をしているかを見て木構造を作る
詳しくは......渡します。
Net::IMAP#search と同等です。
@param algorithm スレッド構造構築アルゴリズム名(文字列)
@param search_key 検索条件(文字列配列)
@param charset 検索条件の解釈に用いるCHARSET名(文字列)
@see Net::IMAP::ThreadMember, Net::IMAP#uid_thread... -
Thread
:: ConditionVariable # broadcast -> self (17129.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 {
pu......ts "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
//}... -
Thread
# backtrace _ locations(range) -> [Thread :: Backtrace :: Location] | nil (15349.0) -
スレッドの現在のバックトレースを Thread::Backtrace::Location の配 列で返します。
...スレッドの現在のバックトレースを Thread::Backtrace::Location の配
列で返します。
引数で指定した値が範囲外の場合、スレッドがすでに終了している場合は nil
を返します。
@param start 開始フレームの位置を数値で指定します......似ていますが、本メソッドは self に限定
した情報を返します。
//emlist[例][ruby]{
thread = Thread.new { sleep 1 }
thread.run
thread.backtrace_locations # => ["/path/to/test.rb:1:in `sleep'", "/path/to/test.rb:1:in `block in <main>'"]
//}
@see Thread::Backtrace::Location... -
Thread
# backtrace _ locations(start = 0 , length = nil) -> [Thread :: Backtrace :: Location] | nil (15349.0) -
スレッドの現在のバックトレースを Thread::Backtrace::Location の配 列で返します。
...スレッドの現在のバックトレースを Thread::Backtrace::Location の配
列で返します。
引数で指定した値が範囲外の場合、スレッドがすでに終了している場合は nil
を返します。
@param start 開始フレームの位置を数値で指定します......似ていますが、本メソッドは self に限定
した情報を返します。
//emlist[例][ruby]{
thread = Thread.new { sleep 1 }
thread.run
thread.backtrace_locations # => ["/path/to/test.rb:1:in `sleep'", "/path/to/test.rb:1:in `block in <main>'"]
//}
@see Thread::Backtrace::Location... -
Thread
# abort _ on _ exception -> bool (15253.0) -
真の場合、そのスレッドが例外によって終了した時に、インタプリタ 全体を中断させます。false の場合、あるスレッドで起こった例 外は、Thread#join などで検出されない限りそのスレッ ドだけをなにも警告を出さずに終了させます。
...。false の場合、あるスレッドで起こった例
外は、Thread#join などで検出されない限りそのスレッ
ドだけをなにも警告を出さずに終了させます。
デフォルトは偽です。c:Thread#exceptionを参照してください。
@param newstate 自身を......実行中に例外発生した場合、インタプリタ全体を終了させるかどうかを true か false で指定します。
//emlist[例][ruby]{
thread = Thread.new { sleep 1 }
thread.abort_on_exception # => false
thread.abort_on_exception = true
thread.abort_on_exception # => true
//}...