種類
- インスタンスメソッド (10)
- クラス (2)
- 特異メソッド (2)
クラス
-
Thread
:: SizedQueue (12)
検索結果
先頭5件
-
Thread
:: SizedQueue # max -> Integer (18109.0) -
キューの最大サイズを返します。
...キューの最大サイズを返します。
//emlist[例][ruby]{
q = SizedQueue.new(4)
q.max # => 4
//}... -
Thread
:: SizedQueue # max=(n) (6121.0) -
キューの最大サイズを設定します。
...キューの最大サイズを設定します。
@param n キューの最大サイズを指定します。
//emlist[例][ruby]{
require 'thread'
q = SizedQueue.new(4)
q.max # => 4
q.max = 5
q.max # => 5
//}... -
Thread
:: SizedQueue . new(max) -> Thread :: SizedQueue (109.0) -
Thread::SizedQueue オブジェクトを生成します。
...Thread::SizedQueue オブジェクトを生成します。
@param max キューのサイズの最大値です。... -
Thread
:: ConditionVariable (32.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 {
# 上の......、
あるいは満タンになった場合に Condition Variable を使って wait しています。
require 'thread'
class TinyQueue
def initialize(max=2)
@max = max
@full = ConditionVariable.new
@empty = ConditionVariable.new
@mutex = Mutex.new
@q = []... -
Thread
:: SizedQueue # <<(obj) -> () (14.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) -> () (14.0) -
キューに与えられたオブジェクトを追加します。
...キューに与えられたオブジェクトを追加します。
キューのサイズが Thread::SizedQueue#max に達している場合は、
キューのサイズが Thread::SizedQueue#max より小さくなるまで他のスレッドに実行を譲ります。
その後、キューに与え......られたオブジェクトを追加します。
@param obj キューに追加したいオブジェクトを指定します。
@see Thread::Queue#push... -
Thread
:: SizedQueue # enq(obj , non _ block = false) -> () (14.0) -
キューに与えられたオブジェクトを追加します。
...与えられたオブジェクトを追加します。
キューのサイズが Thread::SizedQueue#max に達している場合は、
non_block が真でなければ、キューのサイズが Thread::SizedQueue#max
より小さくなるまで他のスレッドに実行を譲ります。
その後......、キューに与えられたオブジェクトを追加します。
@param obj キューに追加したいオブジェクトを指定します。
@param non_block true を与えると、キューが一杯の時に例外 ThreadError が発生します。
@see Thread::Queue#push... -
Thread
:: SizedQueue # push(obj) -> () (14.0) -
キューに与えられたオブジェクトを追加します。
...キューに与えられたオブジェクトを追加します。
キューのサイズが Thread::SizedQueue#max に達している場合は、
キューのサイズが Thread::SizedQueue#max より小さくなるまで他のスレッドに実行を譲ります。
その後、キューに与え......られたオブジェクトを追加します。
@param obj キューに追加したいオブジェクトを指定します。
@see Thread::Queue#push... -
Thread
:: SizedQueue # push(obj , non _ block = false) -> () (14.0) -
キューに与えられたオブジェクトを追加します。
...与えられたオブジェクトを追加します。
キューのサイズが Thread::SizedQueue#max に達している場合は、
non_block が真でなければ、キューのサイズが Thread::SizedQueue#max
より小さくなるまで他のスレッドに実行を譲ります。
その後......、キューに与えられたオブジェクトを追加します。
@param obj キューに追加したいオブジェクトを指定します。
@param non_block true を与えると、キューが一杯の時に例外 ThreadError が発生します。
@see Thread::Queue#push...