【Ruby3.x】Thread::Queue::size()メソッドの使い方
sizeメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
sizeメソッドは、Thread::Queueオブジェクト内に現在格納されている要素の数を取得するメソッドです。
Thread::Queueは、Rubyにおいて複数のスレッド間でデータを安全にやり取りするためのキュー(待ち行列)を提供するクラスです。スレッド間の通信やタスク管理において、データの追加と取り出しを同時に行っても、データの一貫性が損なわれないように設計されており、高い信頼性を持っています。
このsizeメソッドを呼び出すと、そのThread::Queueインスタンスが保持している要素の総数が整数値として返されます。キューに要素が一つも格納されていない場合は、0を返します。例えば、キューに処理すべきタスクがどれだけ残っているかを確認したり、キューのサイズが特定の閾値を超えていないかを監視したりする用途で利用できます。
sizeメソッドはスレッドセーフに動作するため、複数のスレッドから同時に呼び出されても問題なく、その時点でのキューの正確な状態を反映します。ただし、戻り値は呼び出し時のスナップショットであり、他のスレッドが同時にキューに対して要素の追加や削除を行った場合、その直後に実際のキューの要素数が変化する可能性がある点にご留意ください。
構文(syntax)
1q = Thread::Queue.new 2q.size
引数(parameters)
引数なし
引数はありません
戻り値(return)
Integer
Thread::Queue#size は、キューに現在格納されている要素の数を整数で返します。