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

【Ruby3.x】Ractor::close_incoming()メソッドの使い方

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

作成日: 更新日:

基本的な使い方

close_incomingメソッドは、Ractor(ラクター)と呼ばれる並行処理の実行単位において、自身の受信ポートを閉じる処理を実行するメソッドです。

Ractorは、他のRactorと互いにメッセージを送受信することで連携し、並行に処理を進めます。このとき、メッセージを受け取るための窓口が「受信ポート」です。close_incomingメソッドを呼び出すと、そのRactorの受信ポートが閉じられます。これにより、他のRactorから現在のRactorに対して、以降は一切のメッセージを送信できなくなります。

このメソッドの主な目的は、Ractorが自身の処理を完了する準備に入った際や、特定の処理フェーズ以降は外部からのメッセージを受け付ける必要がなくなった場合に、その意思を明示することにあります。受信ポートが閉じられた後に、別のRRactorがこのRactorへメッセージを送信しようとすると、通常はRactor::ClosedErrorなどの例外が発生し、予期しないメッセージの受信を防ぐことができます。これは、Ractorの安全な終了処理や、処理フローの制御において重要な役割を果たします。つまり、不要なメッセージの待ち合わせを防ぎ、Ractorの状態を一貫性のあるものに保つために利用されるメソッドです。

構文(syntax)

1ractor_instance.close_incoming

引数(parameters)

引数なし

引数はありません

戻り値(return)

nil

Ractor が終了することを通知します。このメソッドは何も返しません。

関連コンテンツ