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

instance method Thread#thread_variable_set

thread_variable_set(key, value)[permalink][rdoc]

引数 key で指定した名前のスレッドローカル変数に引数 value をセットします。

[注意]: Thread#[] でセットしたローカル変数(Fiber ローカル変数)と異なり、セットした変数は Fiber を切り替えても共通で使える事に注意してください。



thr = Thread.new do
  Thread.current.thread_variable_set(:cat, 'meow')
  Thread.current.thread_variable_set("dog", 'woof')
end
thr.join               # => #<Thread:0x401b3f10 dead>
thr.thread_variables   # => [:dog, :cat]

[SEE_ALSO] Thread#thread_variable_get, Thread#[]