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

singleton method Thread.pass

pass -> nil[permalink][rdoc][edit]

他のスレッドに実行権を譲ります。実行中のスレッドの状態を変えずに、他の実行可能状態のスレッドに切り替わるよう、スレッドスケジューラにヒントを与えます。実際に切り替わるかどうか、また次にどのスレッドが実行されるかは OS やスケジューラの実装に依存するため、保証されません。

Thread.new do
  (1..3).each{|i|
    p i
    Thread.pass
  }
  exit
end
 
loop do
  Thread.pass
  p :main
end

#=>
1
:main
2
:main
3
:main

上記の出力は一例です。実行環境によって出力順序は異なり、保証されません。