Ruby 4.1 リファレンスマニュアル

instance method Ractor::Port#receive

receive(timeout: nil) -> object | nilRuby 4.0 から[permalink][rdoc][edit]
() → T

Port に送信されたメッセージを受信します。

メッセージキューが空の場合はブロックします。

[PARAM] timeout:
メッセージを待つ秒数を数値で指定します。nil の場合は、メッセージが届くまで待ち続けます。指定した秒数が経過しても届かなかった場合は nil を返します。0 を指定した場合はブロックしません。
[EXCEPTION] ArgumentError:
timeout が負の場合に発生します。
[EXCEPTION] Ractor::ClosedError:
Port が閉じられている場合に発生します。
例: timeout を指定
port = Ractor::Port.new
p port.receive(timeout: 0.1) # => nil