種類
ライブラリ
クラス
- Exception (12)
-
IRB
:: Context (12) - Monitor (42)
-
Rake
:: Application (12) - Shell (4)
- Thread (140)
-
Thread
:: Backtrace :: Location (84) -
Thread
:: ConditionVariable (48) -
Thread
:: Mutex (10) -
Thread
:: Queue (36) -
Thread
:: SizedQueue (58) - ThreadsWait (6)
キーワード
-
$ -d (12) -
$ DEBUG (12) -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) -
CS
_ GNU _ LIBPTHREAD _ VERSION (12) -
CS
_ POSIX _ V7 _ THREADS _ CFLAGS (12) -
CS
_ POSIX _ V7 _ THREADS _ LDFLAGS (12) - ConditionVariable (24)
- Context (12)
- Location (12)
- Monitor (12)
- MonitorMixin (12)
-
NEWS for Ruby 2
. 0 . 0 (12) -
NEWS for Ruby 2
. 4 . 0 (9) -
NEWS for Ruby 2
. 5 . 0 (8) -
NEWS for Ruby 2
. 7 . 0 (6) -
NEWS for Ruby 3
. 0 . 0 (5) -
NEWS for Ruby 3
. 1 . 0 (4) -
SC
_ 2 _ VERSION (12) -
SC
_ ASYNCHRONOUS _ IO (12) -
SC
_ CLOCK _ SELECTION (12) -
SC
_ JOB _ CONTROL (12) -
SC
_ MEMORY _ PROTECTION (12) -
SC
_ MONOTONIC _ CLOCK (12) -
SC
_ NPROCESSORS _ CONF (12) -
SC
_ NPROCESSORS _ ONLN (12) -
SC
_ SYNCHRONIZED _ IO (12) -
SC
_ THREAD _ DESTRUCTOR _ ITERATIONS (12) -
SC
_ THREAD _ SAFE _ FUNCTIONS (12) -
SC
_ VERSION (12) -
SC
_ XOPEN _ VERSION (12) - TCPServer (12)
- Thread (12)
-
abort
_ on _ exception (24) -
abort
_ on _ exception= (24) -
absolute
_ path (12) - application= (12)
-
backtrace
_ locations (36) -
base
_ label (12) - broadcast (12)
-
caller
_ locations (24) -
clock
_ gettime (12) - debug (12)
-
debug
_ output _ synchronize (4) - deq (24)
- enq (11)
- enter (12)
- exit (12)
-
handle
_ interrupt (12) -
ignore
_ deadlock (4) -
ignore
_ deadlock= (4) - inspect (12)
- irb (12)
- label (12)
- lineno (12)
-
mon
_ enter (18) -
mon
_ exit (6) - monitor (12)
- new (12)
-
next
_ wait (6) - path (12)
-
pending
_ interrupt? (12) - pop (24)
- push (11)
-
rb
_ thread _ alone (12) -
rb
_ thread _ restore _ context (12) -
rb
_ thread _ save _ context (12) -
report
_ on _ exception (18) -
report
_ on _ exception= (18) -
rinda
/ rinda (12) -
ruby 1
. 6 feature (12) -
ruby 1
. 8 . 3 feature (12) -
ruby 1
. 8 . 4 feature (12) - shift (24)
- signal (12)
- synchronize (10)
-
thread
_ status _ name (12) - timeout (29)
-
to
_ s (12) - wait (12)
-
wait
_ for _ cond (6) - スレッド (12)
検索結果
先頭5件
-
thread (38018.0)
-
スレッド間キューや状態変数 (condition variable) を提供するライブラリです。
...間キューや状態変数 (condition variable) を提供するライブラリです。
このライブラリは Thread を拡張します。rubyインタプリタを
デバッグオプション付き($DEBUGを真)で実行したときには、
Thread.abort_on_exception を true にします。... -
Thread
:: ConditionVariable (23030.0) -
スレッドの同期機構の一つである状態変数を実現するクラスです。
...の一つである状態変数を実現するクラスです。
以下も ConditionVariable を理解するのに参考になります。
https://ruby-doc.com/docs/ProgrammingRuby/html/tut_threads.html#UF
=== Condition Variable とは
あるスレッド A が排他領域で動いていたとし......がリソースの空きを
待っていても、いつまでも空くことはありません。
以上のような状況を解決するのが Condition Variable です。
スレッド a で条件(リソースが空いているかなど)が満たされるまで wait メソッドで
スレッド......ex = Mutex.new
cv = ConditionVariable.new
a = Thread.start {
mutex.synchronize {
...
while (条件が満たされない)
cv.wait(mutex)
end
...
}
}
b = Thread.start {
mutex.synchronize {
# 上の... -
Thread
# report _ on _ exception -> bool (21292.0) -
真の場合、そのスレッドが例外によって終了した時に、その内容を $stderr に報告します。
...の Thread.report_on_exception です。
@param newstate スレッド実行中に例外発生した場合、その内容を報告するかどうかを true か false で指定します。
//emlist[例][ruby]{
a = Thread.new{ Thread.stop; raise }
a.report_on_exception = true
a.report_on_exception......=> #<Thread:0x00007fc3f48c7908@(irb):1 run> terminated with exception (report_on_exception is true):
# Traceback (most recent call last):
# (irb):1:in `block in irb_binding': unhandled exception
# #<Thread:0x00007fc3f48c7908@(irb):1 dead>
b = Thread.new{ Thread.stop; raise }
b.report_on_exc......eption = false
b.run # => #<Thread:0x00007fc3f48aefc0@(irb):4 dead>
//}
@see Thread.report_on_exception... -
Thread
# report _ on _ exception=(newstate) (21292.0) -
真の場合、そのスレッドが例外によって終了した時に、その内容を $stderr に報告します。
...の Thread.report_on_exception です。
@param newstate スレッド実行中に例外発生した場合、その内容を報告するかどうかを true か false で指定します。
//emlist[例][ruby]{
a = Thread.new{ Thread.stop; raise }
a.report_on_exception = true
a.report_on_exception......=> #<Thread:0x00007fc3f48c7908@(irb):1 run> terminated with exception (report_on_exception is true):
# Traceback (most recent call last):
# (irb):1:in `block in irb_binding': unhandled exception
# #<Thread:0x00007fc3f48c7908@(irb):1 dead>
b = Thread.new{ Thread.stop; raise }
b.report_on_exc......eption = false
b.run # => #<Thread:0x00007fc3f48aefc0@(irb):4 dead>
//}
@see Thread.report_on_exception... -
Thread
# abort _ on _ exception -> bool (21272.0) -
真の場合、そのスレッドが例外によって終了した時に、インタプリタ 全体を中断させます。false の場合、あるスレッドで起こった例 外は、Thread#join などで検出されない限りそのスレッ ドだけをなにも警告を出さずに終了させます。
...alse の場合、あるスレッドで起こった例
外は、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
//}... -
Thread
# abort _ on _ exception=(newstate) (21272.0) -
真の場合、そのスレッドが例外によって終了した時に、インタプリタ 全体を中断させます。false の場合、あるスレッドで起こった例 外は、Thread#join などで検出されない限りそのスレッ ドだけをなにも警告を出さずに終了させます。
...alse の場合、あるスレッドで起こった例
外は、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
//}... -
Thread
. abort _ on _ exception -> bool (21260.0) -
真の時は、いずれかのスレッドが例外によって終了した時に、インタプリタ 全体を中断させます。false の場合、あるスレッドで起こった例外は、Thread#join などで検出されない限りそのスレッドだけをなにも警告を出さずに終了させます。
...lse の場合、あるスレッドで起こった例外は、Thread#join
などで検出されない限りそのスレッドだけをなにも警告を出さずに終了させます。
デフォルトは false です。
c:Thread#exceptionを参照してください。
@param newstate スレッド......実行中に例外発生した場合、インタプリタ全体を終了させるかどうかを true か false で指定します。
//emlist[例][ruby]{
Thread.abort_on_exception # => false
Thread.abort_on_exception = true
Thread.abort_on_exception # => true
//}... -
Thread
. abort _ on _ exception=(newstate) (21260.0) -
真の時は、いずれかのスレッドが例外によって終了した時に、インタプリタ 全体を中断させます。false の場合、あるスレッドで起こった例外は、Thread#join などで検出されない限りそのスレッドだけをなにも警告を出さずに終了させます。
...lse の場合、あるスレッドで起こった例外は、Thread#join
などで検出されない限りそのスレッドだけをなにも警告を出さずに終了させます。
デフォルトは false です。
c:Thread#exceptionを参照してください。
@param newstate スレッド......実行中に例外発生した場合、インタプリタ全体を終了させるかどうかを true か false で指定します。
//emlist[例][ruby]{
Thread.abort_on_exception # => false
Thread.abort_on_exception = true
Thread.abort_on_exception # => true
//}... -
Thread
. report _ on _ exception -> bool (21256.0) -
真の時は、いずれかのスレッドが例外によって終了した時に、その内容を $stderr に報告します。
...内容を $stderr に報告します。
デフォルトは false です。
Thread.new { 1.times { raise } }
は $stderr に以下のように出力します:
#<Thread:...> terminated with exception (report_on_exception is true):
Traceback (most recent call last):
2: from -e:1:in......終了しないようにするのがより良い方法です。
* Thread#join や Thread#value でそのスレッドの終了を待つことが保証できるなら、
スレッド開始時に Thread.current.report_on_exception = false でレポートを無効化しても
安全です。し......れていて
終了を待つことができなかったりするかもしれません。
スレッドごとに設定する方法は Thread#report_on_exception= を参照してください。
@param newstate スレッド実行中に例外発生した場合、その内容を報告するかどう......内容を $stderr に報告します。
デフォルトは true です。
Thread.new { 1.times { raise } }
は $stderr に以下のように出力します:
#<Thread:...> terminated with exception (report_on_exception is true):
Traceback (most recent call last):
2: from -e:1:in `... -
Thread
. report _ on _ exception=(newstate) (21256.0) -
真の時は、いずれかのスレッドが例外によって終了した時に、その内容を $stderr に報告します。
...内容を $stderr に報告します。
デフォルトは false です。
Thread.new { 1.times { raise } }
は $stderr に以下のように出力します:
#<Thread:...> terminated with exception (report_on_exception is true):
Traceback (most recent call last):
2: from -e:1:in......終了しないようにするのがより良い方法です。
* Thread#join や Thread#value でそのスレッドの終了を待つことが保証できるなら、
スレッド開始時に Thread.current.report_on_exception = false でレポートを無効化しても
安全です。し......れていて
終了を待つことができなかったりするかもしれません。
スレッドごとに設定する方法は Thread#report_on_exception= を参照してください。
@param newstate スレッド実行中に例外発生した場合、その内容を報告するかどう......内容を $stderr に報告します。
デフォルトは true です。
Thread.new { 1.times { raise } }
は $stderr に以下のように出力します:
#<Thread:...> terminated with exception (report_on_exception is true):
Traceback (most recent call last):
2: from -e:1:in `... -
IRB
:: Context # thread -> Thread (21208.0) -
現在のスレッドを返します。
...現在のスレッドを返します。
@see Thread.current...