種類
- 定数 (1430)
- インスタンスメソッド (162)
- 文書 (73)
- クラス (33)
- 特異メソッド (22)
ライブラリ
- ビルトイン (156)
- etc (1430)
- rake (22)
- thread (28)
-
webrick
/ server (11)
クラス
-
Rake
:: Application (11) -
Thread
:: Queue (22) -
Thread
:: SizedQueue (129) -
WEBrick
:: GenericServer (11)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (11) - << (11)
- ConditionVariable (11)
-
NEWS for Ruby 2
. 0 . 0 (11) -
NEWS for Ruby 2
. 2 . 0 (10) -
NEWS for Ruby 2
. 4 . 0 (8) -
NEWS for Ruby 2
. 5 . 0 (7) -
NEWS for Ruby 3
. 0 . 0 (4) - Ruby用語集 (11)
-
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) - SizedQueue (22)
- application= (11)
- close (9)
- deq (11)
- empty? (7)
- enq (11)
- length (18)
- max (11)
- max= (11)
- new (11)
- pop (11)
- push (11)
-
ruby 1
. 6 feature (11) - shift (11)
- tokens (11)
検索結果
先頭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... -
Thread
:: SizedQueue # pop(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...