Ruby 2.4.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Threadクラス > priority

instance method Thread#priority

priority -> Integer[permalink][rdoc]
priority=(val)

スレッドの優先度を返します。この値の大きいほど優先度が高くなります。 メインスレッドのデフォルト値は 0 です。新しく生成されたスレッドは親スレッドの priority を引き継ぎます。

[PARAM] val:
スレッドの優先度を指定します。プラットフォームに依存します。


Thread.current.priority   # => 0

count1 = count2 = 0
a = Thread.new do
      loop { count1 += 1 }
    end
a.priority = -1

b = Thread.new do
      loop { count2 += 1 }
    end
b.priority = -2
count1 = count2 = 0 # reset
sleep 1   # => 1
count1    # => 13809431
count2    # => 11571921