種類
- 定数 (1560)
- インスタンスメソッド (178)
- 文書 (81)
- クラス (36)
- 特異メソッド (24)
ライブラリ
- ビルトイン (174)
- etc (1560)
- rake (24)
- thread (28)
-
webrick
/ server (12)
クラス
-
Rake
:: Application (12) -
Thread
:: Queue (24) -
Thread
:: SizedQueue (142) -
WEBrick
:: GenericServer (12)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) - << (12)
- ConditionVariable (12)
-
NEWS for Ruby 2
. 0 . 0 (12) -
NEWS for Ruby 2
. 2 . 0 (11) -
NEWS for Ruby 2
. 4 . 0 (9) -
NEWS for Ruby 2
. 5 . 0 (8) -
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)
- application= (12)
- close (10)
- deq (12)
- empty? (8)
- enq (12)
- length (20)
- max (12)
- max= (12)
- new (12)
- pop (12)
- push (12)
-
ruby 1
. 6 feature (12) - shift (12)
- tokens (12)
検索結果
先頭5件
-
Thread
:: Queue # size -> Integer (26107.0) -
キューの長さを返します。
...キューの長さを返します。
//emlist[例][ruby]{
require 'thread'
q = Queue.new
[:resource1, :resource2, :resource3, nil].each { |r| q.push(r) }
q.length # => 4
//}... -
Thread
:: SizedQueue # size -> Integer (21101.0) -
キューの長さを返します。
キューの長さを返します。 -
Thread
:: Queue # size -> Integer (18101.0) -
キューの長さを返します。
キューの長さを返します。
//emlist[例][ruby]{
q = Queue.new
[:resource1, :resource2, :resource3, nil].each { |r| q.push(r) }
q.length # => 4
//} -
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
:: SizedQueue . new(max) -> Thread :: SizedQueue (14217.0) -
Thread::SizedQueue オブジェクトを生成します。
...Thread::SizedQueue オブジェクトを生成します。
@param max キューのサイズの最大値です。... -
Thread
:: SizedQueue # deq(non _ block = false) -> object (14030.0) -
キューからひとつ値を取り出します。 キューに 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, :resourc......e '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
# => #<ThreadErr......or: queue empty>
# => "queue empty"
//}
@see Thread::Queue#pop... -
Thread
:: SizedQueue # pop(non _ block = false) -> object (14030.0) -
キューからひとつ値を取り出します。 キューに 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, :resourc......e '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
# => #<ThreadErr......or: queue empty>
# => "queue empty"
//}
@see Thread::Queue#pop... -
Thread
:: SizedQueue # shift(non _ block = false) -> object (14030.0) -
キューからひとつ値を取り出します。 キューに 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, :resourc......e '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
# => #<ThreadErr......or: queue empty>
# => "queue empty"
//}
@see Thread::Queue#pop... -
Thread
:: SizedQueue # <<(obj) -> () (14018.0) -
キューに与えられたオブジェクトを追加します。
...キューに与えられたオブジェクトを追加します。
キューのサイズが Thread::SizedQueue#max に達している場合は、
キューのサイズが Thread::SizedQueue#max より小さくなるまで他のスレッドに実行を譲ります。
その後、キューに与え......られたオブジェクトを追加します。
@param obj キューに追加したいオブジェクトを指定します。
@see Thread::Queue#push......ーに与えられたオブジェクトを追加します。
キューのサイズが Thread::SizedQueue#max に達している場合は、
non_block が真でなければ、キューのサイズが Thread::SizedQueue#max
より小さくなるまで他のスレッドに実行を譲ります。
そ......の後、キューに与えられたオブジェクトを追加します。
@param obj キューに追加したいオブジェクトを指定します。
@param non_block true を与えると、キューが一杯の時に例外 ThreadError が発生します。
@see Thread::Queue#push... -
Thread
:: SizedQueue # enq(obj) -> () (14018.0) -
キューに与えられたオブジェクトを追加します。
...キューに与えられたオブジェクトを追加します。
キューのサイズが Thread::SizedQueue#max に達している場合は、
キューのサイズが Thread::SizedQueue#max より小さくなるまで他のスレッドに実行を譲ります。
その後、キューに与え......られたオブジェクトを追加します。
@param obj キューに追加したいオブジェクトを指定します。
@see Thread::Queue#push... -
Thread
:: SizedQueue # enq(obj , non _ block = false) -> () (14018.0) -
キューに与えられたオブジェクトを追加します。
...ーに与えられたオブジェクトを追加します。
キューのサイズが Thread::SizedQueue#max に達している場合は、
non_block が真でなければ、キューのサイズが Thread::SizedQueue#max
より小さくなるまで他のスレッドに実行を譲ります。
そ......の後、キューに与えられたオブジェクトを追加します。
@param obj キューに追加したいオブジェクトを指定します。
@param non_block true を与えると、キューが一杯の時に例外 ThreadError が発生します。
@see Thread::Queue#push... -
Thread
:: SizedQueue # push(obj) -> () (14018.0) -
キューに与えられたオブジェクトを追加します。
...キューに与えられたオブジェクトを追加します。
キューのサイズが Thread::SizedQueue#max に達している場合は、
キューのサイズが Thread::SizedQueue#max より小さくなるまで他のスレッドに実行を譲ります。
その後、キューに与え......られたオブジェクトを追加します。
@param obj キューに追加したいオブジェクトを指定します。
@see Thread::Queue#push... -
Thread
:: SizedQueue # push(obj , non _ block = false) -> () (14018.0) -
キューに与えられたオブジェクトを追加します。
...ーに与えられたオブジェクトを追加します。
キューのサイズが Thread::SizedQueue#max に達している場合は、
non_block が真でなければ、キューのサイズが Thread::SizedQueue#max
より小さくなるまで他のスレッドに実行を譲ります。
そ......の後、キューに与えられたオブジェクトを追加します。
@param obj キューに追加したいオブジェクトを指定します。
@param non_block true を与えると、キューが一杯の時に例外 ThreadError が発生します。
@see Thread::Queue#push... -
SizedQueue (14016.0)
-
Alias of Thread::SizedQueue
...Alias of Thread::SizedQueue... -
Thread
:: SizedQueue # max=(n) (14006.0) -
キューの最大サイズを設定します。
...キューの最大サイズを設定します。
@param n キューの最大サイズを指定します。
//emlist[例][ruby]{
require 'thread'
q = SizedQueue.new(4)
q.max # => 4
q.max = 5
q.max # => 5
//}... -
Thread
:: SizedQueue # max -> Integer (14000.0) -
キューの最大サイズを返します。
...キューの最大サイズを返します。
//emlist[例][ruby]{
q = SizedQueue.new(4)
q.max # => 4
//}... -
Thread
:: ConditionVariable (11036.0) -
スレッドの同期機構の一つである状態変数を実現するクラスです。
...クラスです。
以下も ConditionVariable を理解するのに参考になります。
https://ruby-doc.com/docs/ProgrammingRuby/html/tut_threads.html#UF
=== Condition Variable とは
あるスレッド A が排他領域で動いていたとします。スレッド A は現在空いてい......tex = Mutex.new
cv = ConditionVariable.new
a = Thread.start {
mutex.synchronize {
...
while (条件が満たされない)
cv.wait(mutex)
end
...
}
}
b = Thread.start {
mutex.synchronize {
# 上の......て wait しています。
require 'thread'
class TinyQueue
def initialize(max=2)
@max = max
@full = ConditionVariable.new
@empty = ConditionVariable.new
@mutex = Mutex.new
@q = []
end
def count
@q.size
end
def enq(v)
@mutex.sync... -
Thread
:: Queue # length -> Integer (11007.0) -
キューの長さを返します。
...キューの長さを返します。
//emlist[例][ruby]{
require 'thread'
q = Queue.new
[:resource1, :resource2, :resource3, nil].each { |r| q.push(r) }
q.length # => 4
//}... -
Thread
:: SizedQueue (9028.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... -
Etc
:: SC _ THREAD _ ATTR _ STACKSIZE -> Integer (6219.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。 -
Etc
:: SC _ THREAD _ THREADS _ MAX -> Integer (6219.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。 -
Thread
:: SizedQueue . new(max) -> Thread :: SizedQueue (6217.0) -
Thread::SizedQueue オブジェクトを生成します。
...Thread::SizedQueue オブジェクトを生成します。
@param max キューのサイズの最大値です。... -
Thread
:: SizedQueue # deq(non _ block = false) -> object (6030.0) -
キューからひとつ値を取り出します。 キューに 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, :resourc......e '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
# => #<ThreadErr......or: queue empty>
# => "queue empty"
//}
@see Thread::Queue#pop...