thread_variable_set(key, value)Ruby 2.0.0 から[permalink][rdoc][edit](untyped key, untyped value) → untyped-
引数 key で指定した名前のスレッドローカル変数に引数 value をセットします。
[注意]: Thread#[] でセットしたローカル変数(Fiber ローカル変数)と異なり、セットした変数は Fiber を切り替えても共通で使える事に注意してください。
例thr = Thread.new do Thread.current.thread_variable_set(:cat, 'meow') Thread.current.thread_variable_set("dog", 'woof') end p thr.join # => #<Thread:0x401b3f10 dead> p thr.thread_variables # => [:cat, :dog]value に
nil を指定した例nilを指定しても変数は削除されず、値がnilの変数として Thread#thread_variables の結果に残ります (Thread#thread_variable? は false を返します)。th = Thread.current th.thread_variable_set(:x, 1) th.thread_variable_set(:x, nil) p th.thread_variable?(:x) # => false p th.thread_variables # => [:x][SEE_ALSO] Thread#thread_variable_get, Thread#thread_variables, Thread#[]