別のキーワード
クラス
- Thread (33)
- ThreadsWait (60)
モジュール
- Etc (1793)
キーワード
-
CS
_ GNU _ LIBC _ VERSION (11) -
CS
_ GNU _ LIBPTHREAD _ VERSION (11) -
CS
_ PATH (11) -
CS
_ POSIX _ V6 _ ILP32 _ OFF32 _ CFLAGS (11) -
CS
_ POSIX _ V6 _ ILP32 _ OFF32 _ LDFLAGS (11) -
CS
_ POSIX _ V6 _ ILP32 _ OFF32 _ LIBS (11) -
CS
_ POSIX _ V6 _ ILP32 _ OFFBIG _ CFLAGS (11) -
CS
_ POSIX _ V6 _ ILP32 _ OFFBIG _ LDFLAGS (11) -
CS
_ POSIX _ V6 _ ILP32 _ OFFBIG _ LIBS (11) -
CS
_ POSIX _ V6 _ LP64 _ OFF64 _ CFLAGS (11) -
CS
_ POSIX _ V6 _ LP64 _ OFF64 _ LDFLAGS (11) -
CS
_ POSIX _ V6 _ LP64 _ OFF64 _ LIBS (11) -
CS
_ POSIX _ V6 _ LPBIG _ OFFBIG _ CFLAGS (11) -
CS
_ POSIX _ V6 _ LPBIG _ OFFBIG _ LDFLAGS (11) -
CS
_ POSIX _ V6 _ LPBIG _ OFFBIG _ LIBS (11) -
CS
_ POSIX _ V6 _ WIDTH _ RESTRICTED _ ENVS (11) -
CS
_ POSIX _ V7 _ ILP32 _ OFF32 _ CFLAGS (11) -
CS
_ POSIX _ V7 _ ILP32 _ OFF32 _ LDFLAGS (11) -
CS
_ POSIX _ V7 _ ILP32 _ OFF32 _ LIBS (11) -
CS
_ POSIX _ V7 _ ILP32 _ OFFBIG _ CFLAGS (11) -
CS
_ POSIX _ V7 _ ILP32 _ OFFBIG _ LDFLAGS (11) -
CS
_ POSIX _ V7 _ ILP32 _ OFFBIG _ LIBS (11) -
CS
_ POSIX _ V7 _ LP64 _ OFF64 _ CFLAGS (11) -
CS
_ POSIX _ V7 _ LP64 _ OFF64 _ LDFLAGS (11) -
CS
_ POSIX _ V7 _ LP64 _ OFF64 _ LIBS (11) -
CS
_ POSIX _ V7 _ LPBIG _ OFFBIG _ CFLAGS (11) -
CS
_ POSIX _ V7 _ LPBIG _ OFFBIG _ LDFLAGS (11) -
CS
_ POSIX _ V7 _ LPBIG _ OFFBIG _ LIBS (11) -
CS
_ POSIX _ V7 _ THREADS _ CFLAGS (11) -
CS
_ POSIX _ V7 _ THREADS _ LDFLAGS (11) -
CS
_ POSIX _ V7 _ WIDTH _ RESTRICTED _ ENVS (11) -
CS
_ V6 _ ENV (11) -
CS
_ V7 _ ENV (11) - ConditionVariable (11)
- Enumerator (11)
- ErrNoFinishedThread (6)
- ErrNoWaitingThread (6)
- Fiber (11)
-
NEWS for Ruby 3
. 0 . 0 (4) -
SC
_ 2 _ CHAR _ TERM (11) -
SC
_ 2 _ C _ BIND (11) -
SC
_ 2 _ C _ DEV (11) -
SC
_ 2 _ FORT _ DEV (11) -
SC
_ 2 _ FORT _ RUN (11) -
SC
_ 2 _ LOCALEDEF (11) -
SC
_ 2 _ PBS (11) -
SC
_ 2 _ PBS _ ACCOUNTING (11) -
SC
_ 2 _ PBS _ CHECKPOINT (11) -
SC
_ 2 _ PBS _ LOCATE (11) -
SC
_ 2 _ PBS _ MESSAGE (11) -
SC
_ 2 _ PBS _ TRACK (11) -
SC
_ 2 _ SW _ DEV (11) -
SC
_ 2 _ UPE (11) -
SC
_ 2 _ VERSION (11) -
SC
_ ADVISORY _ INFO (11) -
SC
_ AIO _ LISTIO _ MAX (11) -
SC
_ AIO _ MAX (11) -
SC
_ AIO _ PRIO _ DELTA _ MAX (11) -
SC
_ ARG _ MAX (11) -
SC
_ ASYNCHRONOUS _ IO (11) -
SC
_ ATEXIT _ MAX (11) -
SC
_ AVPHYS _ PAGES (11) -
SC
_ BARRIERS (11) -
SC
_ BC _ BASE _ MAX (11) -
SC
_ BC _ DIM _ MAX (11) -
SC
_ BC _ SCALE _ MAX (11) -
SC
_ BC _ STRING _ MAX (11) -
SC
_ CHILD _ MAX (11) -
SC
_ CLK _ TCK (11) -
SC
_ CLOCK _ SELECTION (11) -
SC
_ COLL _ WEIGHTS _ MAX (11) -
SC
_ CPUSET _ SIZE (11) -
SC
_ CPUTIME (11) -
SC
_ DELAYTIMER _ MAX (11) -
SC
_ EXPR _ NEST _ MAX (11) -
SC
_ FSYNC (11) -
SC
_ GETGR _ R _ SIZE _ MAX (11) -
SC
_ GETPW _ R _ SIZE _ MAX (11) -
SC
_ HOST _ NAME _ MAX (11) -
SC
_ IOV _ MAX (11) -
SC
_ IPV6 (11) -
SC
_ JOB _ CONTROL (11) -
SC
_ LINE _ MAX (11) -
SC
_ LOGIN _ NAME _ MAX (11) -
SC
_ MAPPED _ FILES (11) -
SC
_ MEMLOCK (11) -
SC
_ MEMLOCK _ RANGE (11) -
SC
_ MEMORY _ PROTECTION (11) -
SC
_ MESSAGE _ PASSING (11) -
SC
_ MONOTONIC _ CLOCK (11) -
SC
_ MQ _ OPEN _ MAX (11) -
SC
_ MQ _ PRIO _ MAX (11) -
SC
_ NGROUPS _ MAX (11) -
SC
_ NPROCESSORS _ CONF (11) -
SC
_ NPROCESSORS _ ONLN (11) -
SC
_ OPEN _ MAX (11) -
SC
_ PAGESIZE (11) -
SC
_ PAGE _ SIZE (11) -
SC
_ PHYS _ PAGES (11) -
SC
_ PRIORITIZED _ IO (11) -
SC
_ PRIORITY _ SCHEDULING (11) -
SC
_ RAW _ SOCKETS (11) -
SC
_ READER _ WRITER _ LOCKS (11) -
SC
_ REALTIME _ SIGNALS (11) -
SC
_ REGEXP (11) -
SC
_ RE _ DUP _ MAX (11) -
SC
_ RTSIG _ MAX (11) -
SC
_ SAVED _ IDS (11) -
SC
_ SEMAPHORES (11) -
SC
_ SEM _ NSEMS _ MAX (11) -
SC
_ SEM _ VALUE _ MAX (11) -
SC
_ SHARED _ MEMORY _ OBJECTS (11) -
SC
_ SHELL (11) -
SC
_ SIGQUEUE _ MAX (11) -
SC
_ SPAWN (11) -
SC
_ SPIN _ LOCKS (11) -
SC
_ SPORADIC _ SERVER (11) -
SC
_ SS _ REPL _ MAX (11) -
SC
_ STREAM _ MAX (11) -
SC
_ SYMLOOP _ MAX (11) -
SC
_ SYNCHRONIZED _ IO (11) -
SC
_ THREADS (11) -
SC
_ THREAD _ ATTR _ STACKADDR (11) -
SC
_ THREAD _ ATTR _ STACKSIZE (11) -
SC
_ THREAD _ CPUTIME (11) -
SC
_ THREAD _ DESTRUCTOR _ ITERATIONS (11) -
SC
_ THREAD _ KEYS _ MAX (11) -
SC
_ THREAD _ PRIORITY _ SCHEDULING (11) -
SC
_ THREAD _ PRIO _ INHERIT (11) -
SC
_ THREAD _ PRIO _ PROTECT (11) -
SC
_ THREAD _ PROCESS _ SHARED (11) -
SC
_ THREAD _ ROBUST _ PRIO _ INHERIT (11) -
SC
_ THREAD _ ROBUST _ PRIO _ PROTECT (11) -
SC
_ THREAD _ SAFE _ FUNCTIONS (11) -
SC
_ THREAD _ SPORADIC _ SERVER (11) -
SC
_ THREAD _ STACK _ MIN (11) -
SC
_ THREAD _ THREADS _ MAX (11) -
SC
_ TIMEOUTS (11) -
SC
_ TIMERS (11) -
SC
_ TIMER _ MAX (11) -
SC
_ TRACE (11) -
SC
_ TRACE _ EVENT _ FILTER (11) -
SC
_ TRACE _ EVENT _ NAME _ MAX (11) -
SC
_ TRACE _ INHERIT (11) -
SC
_ TRACE _ LOG (11) -
SC
_ TRACE _ NAME _ MAX (11) -
SC
_ TRACE _ SYS _ MAX (11) -
SC
_ TRACE _ USER _ EVENT _ MAX (11) -
SC
_ TTY _ NAME _ MAX (11) -
SC
_ TYPED _ MEMORY _ OBJECTS (11) -
SC
_ TZNAME _ MAX (11) -
SC
_ V6 _ ILP32 _ OFF32 (11) -
SC
_ V6 _ ILP32 _ OFFBIG (11) -
SC
_ V6 _ LP64 _ OFF64 (11) -
SC
_ V6 _ LPBIG _ OFFBIG (11) -
SC
_ V7 _ ILP32 _ OFF32 (11) -
SC
_ V7 _ ILP32 _ OFFBIG (11) -
SC
_ V7 _ LP64 _ OFF64 (11) -
SC
_ V7 _ LPBIG _ OFFBIG (11) -
SC
_ VERSION (11) -
SC
_ XOPEN _ CRYPT (11) -
SC
_ XOPEN _ ENH _ I18N (11) -
SC
_ XOPEN _ REALTIME (11) -
SC
_ XOPEN _ REALTIME _ THREADS (11) -
SC
_ XOPEN _ SHM (11) -
SC
_ XOPEN _ STREAMS (11) -
SC
_ XOPEN _ UNIX (11) -
SC
_ XOPEN _ UUCP (11) -
SC
_ XOPEN _ VERSION (11) - ThreadGroup (11)
- ThreadsWait (6)
-
all
_ waits (18) - empty? (6)
- finished? (6)
- join (28)
-
join
_ nowait (6) - new (6)
-
next
_ wait (6) -
rb
_ gc _ mark _ threads (11) -
rb
_ thread _ wait _ other _ threads (11) -
ruby 1
. 8 . 4 feature (11) - value (11)
検索結果
先頭5件
-
Etc
:: CS _ POSIX _ V7 _ THREADS _ CFLAGS -> Integer (3102.0) -
Etc.#confstr の引数に指定します。
Etc.#confstr の引数に指定します。
詳細は confstr(3) を参照してください。 -
Etc
:: CS _ POSIX _ V7 _ THREADS _ LDFLAGS -> Integer (3102.0) -
Etc.#confstr の引数に指定します。
Etc.#confstr の引数に指定します。
詳細は confstr(3) を参照してください。 -
ThreadsWait
# empty? -> bool (3030.0) -
同期されるスレッドが存在するならば true をかえします。
...ッドが存在するならば true をかえします。
使用例
require 'thwait'
threads = []
3.times {|i|
threads << Thread.new { sleep 1; p Thread.current }
}
thall = ThreadsWait.new
p thall.threads.empty? #=> true
thall.join(*threads)
p thall.threads.empty? #=> false... -
ThreadsWait
# all _ waits -> () (3018.0) -
指定されたスレッドすべてが終了するまで待ちます。 ブロックが与えられた場合、スレッド終了時にブロックを評価します。
...レッド終了時にブロックを評価します。
使用例
require 'thwait'
threads = []
5.times {|i|
threads << Thread.new { sleep 1; p Thread.current }
}
thall = ThreadsWait.new(*threads)
thall.all_waits{|th|
printf("end %s\n", th.inspect)
}
# 出力例
#=>... -
ThreadsWait
# finished? -> bool (3018.0) -
すでに終了したスレッドが存在すれば true を返します。
...に終了したスレッドが存在すれば true を返します。
使用例
require 'thwait'
threads = []
3.times {|i|
threads << Thread.new { sleep 1; p Thread.current }
}
thall = ThreadsWait.new(*threads)
p thall.finished? #=> false
sleep 3
p thall.finished? #=> true... -
ThreadsWait
# next _ wait(nonblock = nil) -> Thread (3018.0) -
指定したスレッドのどれかが終了するまで待ちます。
... ThreadsWait::ErrNoFinishedThread が発生します。
@raise ErrNoWaitingThread 終了をまつスレッドが存在しない時、発生します。
@raise ErrNoFinishedThread nonblock がtrue でかつ、キューが空の時、発生します。
#使用例
require 'thwait'
threads = [......]
2.times {|i|
threads << Thread.new { sleep i }
}
thall = ThreadsWait.new
thall.join_nowait(*threads)
until thall.empty?
th = thall.next_wait
p th
end
@see Queue#pop... -
ThreadsWait
:: ErrNoFinishedThread (3000.0) -
nonblock がtrue でかつ、キューが空の時、発生します。
...nonblock がtrue でかつ、キューが空の時、発生します。
@see ThreadsWait#next_wait... -
ThreadsWait
:: ErrNoWaitingThread (3000.0) -
終了を待つスレッドが存在しない時、発生します。
...終了を待つスレッドが存在しない時、発生します。
@see ThreadsWait#next_wait... -
Thread
# value -> object (36.0) -
スレッド self が終了するまで待ち(Thread#join と同じ)、 そのスレッドのブロックが返した値を返します。スレッド実行中に例外が 発生した場合には、その例外を再発生させます。
...の終了を待ち結果を出力する例です。
threads = []
threads.push(Thread.new { n = rand(5); sleep n; n })
threads.push(Thread.new { n = rand(5); sleep n; n })
threads.push(Thread.new { n = rand(5); sleep n; n })
threads.each {|t| p t.value}
最後の行で、待ち合......わせを行っていることがわかりにくいと思うなら以下
のように書くこともできます。
threads.each {|t| p t.join.value}... -
Thread
# join -> self (30.0) -
スレッド self の実行が終了するまで、カレントスレッドを停止し ます。self が例外により終了していれば、その例外がカレントス レッドに対して発生します。
...。
以下は、生成したすべてのスレッドの終了を待つ例です。
threads = []
threads.push(Thread.new { n = rand(5); sleep n; n })
threads.push(Thread.new { n = rand(5); sleep n; n })
threads.push(Thread.new { n = rand(5); sleep n; n })
threads.each {|t| t.join}... -
Thread
# join(limit) -> self | nil (30.0) -
スレッド self の実行が終了するまで、カレントスレッドを停止し ます。self が例外により終了していれば、その例外がカレントス レッドに対して発生します。
...。
以下は、生成したすべてのスレッドの終了を待つ例です。
threads = []
threads.push(Thread.new { n = rand(5); sleep n; n })
threads.push(Thread.new { n = rand(5); sleep n; n })
threads.push(Thread.new { n = rand(5); sleep n; n })
threads.each {|t| t.join}... -
Enumerator (6.0)
-
each 以外のメソッドにも Enumerable の機能を提供するためのラッパークラスです。 また、外部イテレータとしても使えます。
...ます。
例えば以下のようなスレッドをまたいだ呼び出しはエラーになります。
//emlist[例][ruby]{
a = nil
Thread.new do
a = [1, 2, 3].each
a.next
end.join
p a.next
#=> t.rb:7:in `next': fiber called across threads (FiberError)
# from t.rb:7:in `<main>'
//}... -
Fiber (6.0)
-
ノンプリエンプティブな軽量スレッド(以下ファイバーと呼ぶ)を提供します。 他の言語では coroutine あるいは semicoroutine と呼ばれることもあります。 Thread と違いユーザレベルスレッドとして実装されています。
...レッド間をまたがるファイバーの切り替えはできません。
例外 FiberError が発生します。
//emlist[例:][ruby]{
f = nil
Thread.new do
f = Fiber.new{}
end.join
f.resume
#=> t.rb:5:in `resume': fiber called across threads (FiberError)
# from t.rb:5:in `<main>'
//}...