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

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

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

作成日: 更新日:

基本的な使い方

<<メソッドは、RubyのThread::Queueオブジェクトに要素を追加するメソッドです。Thread::Queueは、複数のスレッド間でデータを安全かつ効率的にやり取りするためのキュー(待ち行列)を提供します。この<<メソッドを使用することで、指定されたオブジェクトをキューの末尾に加えることができます。

キューに要素を追加する際、通常、この操作は非ブロックで行われます。つまり、キューに空きがあれば、データを追加するスレッドは待機することなく、すぐに次の処理へと進むことができます。これは、システムのスループットを向上させる上で重要です。

また、もし別のスレッドがキューから要素を取り出すために待機している場合、<<メソッドによって追加された要素は、待機しているスレッドに即座に渡されます。これにより、待機中のスレッドはすぐに処理を再開でき、スレッド間の協調処理がスムーズに行われます。

Thread::Queueはスレッドセーフな設計がされており、複数のスレッドから同時に<<メソッドを呼び出しても、データの整合性が保たれ、競合状態が発生する心配はありません。この特性により、生産者-消費者モデルなど、スレッド間で協調してタスクを実行する際に、安全で信頼性の高いデータ伝達メカニズムを提供します。

構文(syntax)

1q = Thread::Queue.new
2q << "element_to_add"

引数(parameters)

req

  • req: キューに追加するオブジェクト

戻り値(return)

Thread::Queue

Thread::Queueクラスの<<メソッドは、キューの末尾に要素を追加した後のキュー自身を返します。

関連コンテンツ