種類
ライブラリ
クラス
- Exception (12)
- Fiber (24)
- IO (120)
-
IRB
:: Context (12) - Monitor (42)
- Mutex (2)
-
Net
:: IMAP (48) -
Net
:: IMAP :: ThreadMember (24) - PStore (12)
-
Rake
:: Application (12) - Shell (8)
- Socket (24)
- Thread (536)
-
Thread
:: Backtrace :: Location (84) -
Thread
:: ConditionVariable (48) -
Thread
:: Mutex (20) -
Thread
:: Queue (52) -
Thread
:: SizedQueue (142) - ThreadGroup (12)
- ThreadsWait (60)
- TracePoint (12)
- Tracer (48)
-
WEBrick
:: GenericServer (12) - WIN32OLE (12)
-
YAML
:: Store (18)
モジュール
キーワード
-
$ SAFE (7) -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) - << (12)
-
CLOCK
_ THREAD _ CPUTIME _ ID (12) -
CP
_ THREAD _ ACP (12) -
CS
_ GNU _ LIBPTHREAD _ VERSION (12) -
CS
_ POSIX _ V7 _ THREADS _ CFLAGS (12) -
CS
_ POSIX _ V7 _ THREADS _ LDFLAGS (12) - ConditionVariable (24)
- Context (12)
- DEBUG (12)
- ErrNoFinishedThread (6)
- ErrNoWaitingThread (6)
- Fiber (12)
-
Init
_ Thread (12) - Location (12)
-
MUTEX
_ FOR _ THREAD _ EXCLUSIVE (5) - Monitor (12)
- MonitorMixin (12)
- MultiTask (12)
-
NEWS for Ruby 2
. 0 . 0 (12) -
NEWS for Ruby 2
. 3 . 0 (10) -
NEWS for Ruby 2
. 7 . 0 (6) -
NEWS for Ruby 3
. 0 . 0 (5) - Ruby用語集 (12)
-
SC
_ 2 _ CHAR _ TERM (12) -
SC
_ 2 _ C _ BIND (12) -
SC
_ 2 _ C _ DEV (12) -
SC
_ 2 _ FORT _ DEV (12) -
SC
_ 2 _ FORT _ RUN (12) -
SC
_ 2 _ LOCALEDEF (12) -
SC
_ 2 _ PBS (12) -
SC
_ 2 _ PBS _ ACCOUNTING (12) -
SC
_ 2 _ PBS _ CHECKPOINT (12) -
SC
_ 2 _ PBS _ LOCATE (12) -
SC
_ 2 _ PBS _ MESSAGE (12) -
SC
_ 2 _ PBS _ TRACK (12) -
SC
_ 2 _ SW _ DEV (12) -
SC
_ 2 _ UPE (12) -
SC
_ 2 _ VERSION (12) -
SC
_ ADVISORY _ INFO (12) -
SC
_ AIO _ LISTIO _ MAX (12) -
SC
_ AIO _ MAX (12) -
SC
_ AIO _ PRIO _ DELTA _ MAX (12) -
SC
_ ARG _ MAX (12) -
SC
_ ASYNCHRONOUS _ IO (12) -
SC
_ ATEXIT _ MAX (12) -
SC
_ AVPHYS _ PAGES (12) -
SC
_ BARRIERS (12) -
SC
_ BC _ BASE _ MAX (12) -
SC
_ BC _ DIM _ MAX (12) -
SC
_ BC _ SCALE _ MAX (12) -
SC
_ BC _ STRING _ MAX (12) -
SC
_ CHILD _ MAX (12) -
SC
_ CLK _ TCK (12) -
SC
_ CLOCK _ SELECTION (12) -
SC
_ COLL _ WEIGHTS _ MAX (12) -
SC
_ CPUSET _ SIZE (12) -
SC
_ CPUTIME (12) -
SC
_ DELAYTIMER _ MAX (12) -
SC
_ EXPR _ NEST _ MAX (12) -
SC
_ FSYNC (12) -
SC
_ GETGR _ R _ SIZE _ MAX (12) -
SC
_ GETPW _ R _ SIZE _ MAX (12) -
SC
_ HOST _ NAME _ MAX (12) -
SC
_ IOV _ MAX (12) -
SC
_ IPV6 (12) -
SC
_ JOB _ CONTROL (12) -
SC
_ LINE _ MAX (12) -
SC
_ LOGIN _ NAME _ MAX (12) -
SC
_ MAPPED _ FILES (12) -
SC
_ MEMLOCK (12) -
SC
_ MEMLOCK _ RANGE (12) -
SC
_ MEMORY _ PROTECTION (12) -
SC
_ MESSAGE _ PASSING (12) -
SC
_ MONOTONIC _ CLOCK (12) -
SC
_ MQ _ OPEN _ MAX (12) -
SC
_ MQ _ PRIO _ MAX (12) -
SC
_ NGROUPS _ MAX (12) -
SC
_ NPROCESSORS _ CONF (12) -
SC
_ NPROCESSORS _ ONLN (12) -
SC
_ OPEN _ MAX (12) -
SC
_ PAGESIZE (12) -
SC
_ PAGE _ SIZE (12) -
SC
_ PHYS _ PAGES (12) -
SC
_ PRIORITIZED _ IO (12) -
SC
_ PRIORITY _ SCHEDULING (12) -
SC
_ RAW _ SOCKETS (12) -
SC
_ READER _ WRITER _ LOCKS (12) -
SC
_ REALTIME _ SIGNALS (12) -
SC
_ REGEXP (12) -
SC
_ RE _ DUP _ MAX (12) -
SC
_ RTSIG _ MAX (12) -
SC
_ SAVED _ IDS (12) -
SC
_ SEMAPHORES (12) -
SC
_ SEM _ NSEMS _ MAX (12) -
SC
_ SEM _ VALUE _ MAX (12) -
SC
_ SHARED _ MEMORY _ OBJECTS (12) -
SC
_ SHELL (12) -
SC
_ SIGQUEUE _ MAX (12) -
SC
_ SPAWN (12) -
SC
_ SPIN _ LOCKS (12) -
SC
_ SPORADIC _ SERVER (12) -
SC
_ SS _ REPL _ MAX (12) -
SC
_ STREAM _ MAX (12) -
SC
_ SYMLOOP _ MAX (12) -
SC
_ SYNCHRONIZED _ IO (12) -
SC
_ THREADS (12) -
SC
_ THREAD _ ATTR _ STACKADDR (12) -
SC
_ THREAD _ ATTR _ STACKSIZE (12) -
SC
_ THREAD _ CPUTIME (12) -
SC
_ THREAD _ DESTRUCTOR _ ITERATIONS (12) -
SC
_ THREAD _ KEYS _ MAX (12) -
SC
_ THREAD _ PRIORITY _ SCHEDULING (12) -
SC
_ THREAD _ PRIO _ INHERIT (12) -
SC
_ THREAD _ PRIO _ PROTECT (12) -
SC
_ THREAD _ PROCESS _ SHARED (12) -
SC
_ THREAD _ ROBUST _ PRIO _ INHERIT (12) -
SC
_ THREAD _ ROBUST _ PRIO _ PROTECT (12) -
SC
_ THREAD _ SAFE _ FUNCTIONS (12) -
SC
_ THREAD _ SPORADIC _ SERVER (12) -
SC
_ THREAD _ STACK _ MIN (12) -
SC
_ THREAD _ THREADS _ MAX (12) -
SC
_ TIMEOUTS (12) -
SC
_ TIMERS (12) -
SC
_ TIMER _ MAX (12) -
SC
_ TRACE (12) -
SC
_ TRACE _ EVENT _ FILTER (12) -
SC
_ TRACE _ EVENT _ NAME _ MAX (12) -
SC
_ TRACE _ INHERIT (12) -
SC
_ TRACE _ LOG (12) -
SC
_ TRACE _ NAME _ MAX (12) -
SC
_ TRACE _ SYS _ MAX (12) -
SC
_ TRACE _ USER _ EVENT _ MAX (12) -
SC
_ TTY _ NAME _ MAX (12) -
SC
_ TYPED _ MEMORY _ OBJECTS (12) -
SC
_ TZNAME _ MAX (12) -
SC
_ V6 _ ILP32 _ OFF32 (12) -
SC
_ V6 _ ILP32 _ OFFBIG (12) -
SC
_ V6 _ LP64 _ OFF64 (12) -
SC
_ V6 _ LPBIG _ OFFBIG (12) -
SC
_ V7 _ ILP32 _ OFF32 (12) -
SC
_ V7 _ ILP32 _ OFFBIG (12) -
SC
_ V7 _ LP64 _ OFF64 (12) -
SC
_ V7 _ LPBIG _ OFFBIG (12) -
SC
_ VERSION (12) -
SC
_ XOPEN _ CRYPT (12) -
SC
_ XOPEN _ ENH _ I18N (12) -
SC
_ XOPEN _ REALTIME (12) -
SC
_ XOPEN _ REALTIME _ THREADS (12) -
SC
_ XOPEN _ SHM (12) -
SC
_ XOPEN _ STREAMS (12) -
SC
_ XOPEN _ UNIX (12) -
SC
_ XOPEN _ UUCP (12) -
SC
_ XOPEN _ VERSION (12) - SizedQueue (24)
- ThreadMember (12)
- ThreadsWait (6)
- WIN32OLE (12)
- [] (12)
-
abort
_ on _ exception (24) -
abort
_ on _ exception= (24) -
absolute
_ path (12) - alive? (12)
-
all
_ waits (18) - application= (12)
- backtrace (12)
-
backtrace
_ locations (36) -
base
_ label (12) - broadcast (12)
-
caller
_ locations (24) - children (12)
-
client
_ thread (12) -
client
_ thread= (12) -
clock
_ gettime (12) - close (10)
-
count
_ tdata _ objects (12) - debug (12)
-
debug
_ output _ synchronize (4) -
debug
_ output _ unlock (4) - deq (12)
- detach (12)
-
display
_ thread _ id (12) -
display
_ thread _ id= (12) -
display
_ thread _ id? (12) - dump (24)
- empty? (14)
- enq (12)
- enter (12)
- eof (12)
- eof? (12)
- exclusive (12)
- exit (36)
- fetch (8)
- finished? (6)
- fork (12)
-
get
_ thread _ no (12) -
handle
_ interrupt (12) -
ignore
_ deadlock (4) -
ignore
_ deadlock= (4) - inspect (24)
- irb (12)
- join (30)
-
join
_ nowait (6) - kill (24)
- label (12)
- length (20)
- lineno (12)
- list (24)
- main (12)
- max (12)
- max= (12)
-
mon
_ enter (18) -
mon
_ exit (6) - monitor (12)
- name (10)
- name= (10)
-
net
/ imap (12) - new (88)
-
next
_ wait (6) -
num
_ waiting (12) - pass (12)
- path (12)
-
pending
_ interrupt? (24) - pipe (96)
-
pipeline
_ r (24) -
pipeline
_ rw (24) -
pipeline
_ start (24) -
pipeline
_ w (24) - pop (12)
- popen2 (24)
- popen2e (24)
- popen3 (24)
- priority (12)
- priority= (12)
- push (12)
- raise (12)
-
rb
_ gc _ mark _ threads (12) -
rb
_ thread _ abort _ exc (12) -
rb
_ thread _ abort _ exc _ set (12) -
rb
_ thread _ alive _ p (12) -
rb
_ thread _ alloc (12) -
rb
_ thread _ alone (12) -
rb
_ thread _ aref (12) -
rb
_ thread _ aset (12) -
rb
_ thread _ atfork (12) -
rb
_ thread _ check (12) -
rb
_ thread _ cleanup (12) -
rb
_ thread _ critical _ get (12) -
rb
_ thread _ critical _ set (12) -
rb
_ thread _ current (12) -
rb
_ thread _ dead (12) -
rb
_ thread _ deadlock (12) -
rb
_ thread _ exit (12) -
rb
_ thread _ fd _ close (12) -
rb
_ thread _ fd _ writable (12) -
rb
_ thread _ initialize (12) -
rb
_ thread _ inspect (12) -
rb
_ thread _ interrupt (12) -
rb
_ thread _ join (12) -
rb
_ thread _ join _ m (12) -
rb
_ thread _ key _ p (12) -
rb
_ thread _ keys (12) -
rb
_ thread _ kill (12) -
rb
_ thread _ list (12) -
rb
_ thread _ local _ aref (12) -
rb
_ thread _ local _ aset (12) -
rb
_ thread _ main (12) -
rb
_ thread _ pass (12) -
rb
_ thread _ polling (1) -
rb
_ thread _ priority (12) -
rb
_ thread _ priority _ set (12) -
rb
_ thread _ raise (12) -
rb
_ thread _ raise _ m (12) -
rb
_ thread _ ready (12) -
rb
_ thread _ remove (12) -
rb
_ thread _ restore _ context (12) -
rb
_ thread _ s _ abort _ exc (12) -
rb
_ thread _ s _ abort _ exc _ set (12) -
rb
_ thread _ s _ kill (12) -
rb
_ thread _ s _ new (12) -
rb
_ thread _ safe _ level (12) -
rb
_ thread _ save _ context (12) -
rb
_ thread _ schedule (12) -
rb
_ thread _ select (1) -
rb
_ thread _ signal _ raise (12) -
rb
_ thread _ sleep (12) -
rb
_ thread _ sleep _ forever (12) -
rb
_ thread _ start (12) -
rb
_ thread _ start _ 0 (12) -
rb
_ thread _ start _ timer (12) -
rb
_ thread _ status (12) -
rb
_ thread _ stop (12) -
rb
_ thread _ stop _ p (12) -
rb
_ thread _ stop _ timer (12) -
rb
_ thread _ trap _ eval (12) -
rb
_ thread _ value (12) -
rb
_ thread _ wait _ fd (12) -
rb
_ thread _ wait _ for (12) -
rb
_ thread _ wait _ other _ threads (12) -
rb
_ thread _ yield (12) -
report
_ on _ exception (18) -
report
_ on _ exception= (18) - resume (12)
-
rinda
/ rinda (12) -
ruby 1
. 6 feature (12) -
ruby 1
. 8 . 3 feature (12) -
ruby 1
. 8 . 4 feature (12) -
safe
_ level (7) - seqno (12)
-
set
_ trace _ func (12) - shift (24)
- signal (12)
- size (20)
- sleep (36)
-
stack
_ extend (12) - start (12)
- status (12)
- stop (12)
-
sync
_ ex _ locker (6) -
sync
_ upgrade _ waiting (6) -
sync
_ waiting (6) - synchronize (10)
- terminate (12)
-
thgroup
_ add (12) -
thread
_ free (12) -
thread
_ keys _ i (12) -
thread
_ mark (12) -
thread
_ status _ name (12) -
thread
_ switch (12) -
thread
_ variable? (12) -
thread
_ variable _ get (12) -
thread
_ variable _ set (12) - threads (6)
- timeout (37)
-
to
_ s (20) - tokens (12)
- transfer (12)
-
uid
_ thread (12) - unix (24)
- wait (12)
-
wait
_ for _ cond (6) - オブジェクト指向スクリプト言語 Ruby リファレンスマニュアル (12)
- セキュリティモデル (12)
- 終了処理 (12)
検索結果
先頭5件
-
IRB
:: Context # thread -> Thread (21208.0) -
現在のスレッドを返します。
...現在のスレッドを返します。
@see Thread.current... -
Thread
# pending _ interrupt?(error = nil) -> bool (21206.0) -
self の非同期例外のキューが空かどうかを返します。
...self の非同期例外のキューが空かどうかを返します。
@param error 対象の例外クラスを指定します。
@see Thread.pending_interrupt?... -
Thread
:: ConditionVariable # wait(mutex , timeout = nil) -> self (20150.0) -
mutex のロックを解放し、カレントスレッドを停止します。 Thread::ConditionVariable#signalまたは、 Thread::ConditionVariable#broadcastで送られたシグナルを 受け取ると、mutexのロックを取得し、実行状態となります。
...止します。
Thread::ConditionVariable#signalまたは、
Thread::ConditionVariable#broadcastで送られたシグナルを
受け取ると、mutexのロックを取得し、実行状態となります。
@param mutex Thread::Mutex オブジェクトを指定します。
@param timeout スリ......ます。この場合はシグナルを受け取
らなかった場合でも指定した秒数が経過するとスリープを終了
します。省略するとスリープし続けます。
@see Thread::ConditionVariable#signal, Thread::ConditionVariable#broadcast... -
DRb
. # thread -> Thread|nil (18302.0) -
プライマリサーバが動作しているスレッドを返します。
...プライマリサーバが動作しているスレッドを返します。
プライマリサーバが存在しない場合は nil を返します。
@see DRb.#primary_server... -
static void rb
_ thread _ wait _ other _ threads(void) (18300.0) -
-
ThreadsWait
:: ErrNoWaitingThread (18000.0) -
終了を待つスレッドが存在しない時、発生します。
...終了を待つスレッドが存在しない時、発生します。
@see ThreadsWait#next_wait... -
Thread
:: SizedQueue # shift(non _ block = false) -> object (17130.0) -
キューからひとつ値を取り出します。 キューに push しようと待っているスレッドがあれば、実行を再開させます。
... 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].each{|r|
q.push(r)
}
th1.join
# => resource1
# resource2
# resource3
//}
//emlis......uire 'thread'
q = SizedQueue.new(4)
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].each{|r|
q.push(r)
}
begin
th1.join
q.pop(true)
rescue => e
p e
p e.message
end
# => resource1
# resource2
# resource3
# => #<Thread......Error: queue empty>
# => "queue empty"
//}
@see Thread::Queue#pop... -
Thread
:: ConditionVariable # signal -> self (17128.0) -
状態変数を待っているスレッドを1つ再開します。再開された スレッドは 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)
end
puts "a2"
}
}
}
Thread.start {
mutex.synchronize {
flg = false
cv.signal
}
}
sleep 1
# => a1
# => a1
# => a1
# => a2
//}... -
Thread
:: Queue # num _ waiting -> Integer (17112.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
:: ConditionVariable (17030.0) -
スレッドの同期機構の一つである状態変数を実現するクラスです。
...一つである状態変数を実現するクラスです。
以下も ConditionVariable を理解するのに参考になります。
https://ruby-doc.com/docs/ProgrammingRuby/html/tut_threads.html#UF
=== Condition Variable とは
あるスレッド A が排他領域で動いていたとしま......状況を解決するのが Condition Variable です。
スレッド a で条件(リソースが空いているかなど)が満たされるまで wait メソッドで
スレッドを止めます。他のスレッド b において条件が満たされたなら signal
メソッドでスレッド a......= Mutex.new
cv = ConditionVariable.new
a = Thread.start {
mutex.synchronize {
...
while (条件が満たされない)
cv.wait(mutex)
end
...
}
}
b = Thread.start {
mutex.synchronize {
# 上の条... -
Thread
:: SizedQueue (17028.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
q.push(l)
th.join... -
Thread
. kill(thread) -> Thread (15364.0) -
指定したスレッド thread に対して Thread#exit を呼びます。終了したスレッドを返します。
...指定したスレッド thread に対して Thread#exit を呼びます。終了したスレッドを返します。
@param thread 終了したい Thread オブジェクトを指定します。
th = Thread.new do
end
p Thread.kill(th) #=> #<Thread:0x40221bc8 dead>... -
Thread
# backtrace _ locations(range) -> [Thread :: Backtrace :: Location] | nil (15348.0) -
スレッドの現在のバックトレースを Thread::Backtrace::Location の配 列で返します。
...スレッドの現在のバックトレースを Thread::Backtrace::Location の配
列で返します。
引数で指定した値が範囲外の場合、スレッドがすでに終了している場合は nil
を返します。
@param start 開始フレームの位置を数値で指定します......er_locations と似ていますが、本メソッドは 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::Backtr......ace::Location... -
Thread
# backtrace _ locations(start = 0 , length = nil) -> [Thread :: Backtrace :: Location] | nil (15348.0) -
スレッドの現在のバックトレースを Thread::Backtrace::Location の配 列で返します。
...スレッドの現在のバックトレースを Thread::Backtrace::Location の配
列で返します。
引数で指定した値が範囲外の場合、スレッドがすでに終了している場合は nil
を返します。
@param start 開始フレームの位置を数値で指定します......er_locations と似ていますが、本メソッドは 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::Backtr......ace::Location... -
Thread
. list -> [Thread] (15225.0) -
全ての生きているスレッドを含む配列を生成して返します。aborting 状態であるスレッド も要素に含まれます。
...全ての生きているスレッドを含む配列を生成して返します。aborting 状態であるスレッド
も要素に含まれます。
Thread.new do
sleep
end
sleep 0.1
p Thread.list #=> [#<Thread:0x40377a54 sleep>, #<Thread:0x4022e6fc run>]...