Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Ruby3.x】Thread::SizedQueue::size()メソッドの使い方

sizeメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

sizeメソッドは、Thread::SizedQueueインスタンスが現在保持している要素の数を取得するメソッドです。

Thread::SizedQueueは、Rubyにおいて複数のスレッド間でデータを安全にやり取りするためのキュー(待ち行列)を提供するクラスです。このキューは、保持できる要素の最大数が事前に指定されており、その容量を超えて要素を追加することはできません。このような特性から、Thread::SizedQueueは、生産者(プロデューサー)と消費者(コンシューマー)が非同期にデータを処理するようなシステムで特に有用です。

sizeメソッドを呼び出すと、その時点でのキューの内部に格納されている要素の総数が整数値として返されます。これにより、プログラマーはキューがどれくらいの要素を保持しているかをリアルタイムに把握できます。例えば、キューが空であるか(戻り値が0)、あるいは最大容量に対してどれくらいの余裕があるかといった状態を確認する際に役立ちます。この情報は、プロデューサーが新しい要素を追加する前にキューが満杯でないかを確認したり、コンシューマーが要素を取り出す前にキューに要素が存在するかを判断したりするなど、キューの操作を制御する上で重要な指標となります。ただし、並行処理環境下では、sizeメソッドの呼び出し直後に他のスレッドがキューの内容を更新する可能性があるため、取得した値が常に最新の状態を保証するものではない点に注意が必要です。

構文(syntax)

1require 'thread'
2
3queue = Thread::SizedQueue.new(10)
4queue.size

引数(parameters)

引数なし

引数はありません

戻り値(return)

Integer

Thread::SizedQueue#size は、キューに現在格納されている要素の数を整数で返します。

関連コンテンツ