本文简要介绍ruby语言中 Thread.thread_variable_get
的用法。
用法
thread_variable_get(key) → obj or nil
返回已设置的线程局部变量的值。请注意,这些值与光纤本地值不同。有关光纤本地值,请参阅 Thread#[]
和 Thread#[]=
。
Thread
局部值随线程一起携带,不尊重光纤。例如:
Thread.new {
Thread.current.thread_variable_set("foo", "bar") # set a thread local
Thread.current["foo"] = "bar" # set a fiber local
Fiber.new {
Fiber.yield [
Thread.current.thread_variable_get("foo"), # get the thread local
Thread.current["foo"], # get the fiber local
]
}.resume
}.join.value # => ['bar', nil]
为线程本地返回值“bar”,其中为光纤本地返回 nil。纤程在同一个线程中执行,因此线程局部值可用。
相关用法
- Ruby Thread.thread_variables用法及代码示例
- Ruby Thread.thread_variable?用法及代码示例
- Ruby Thread.thr[sym]用法及代码示例
- Ruby Thread.kill用法及代码示例
- Ruby Thread.pending_interrupt?用法及代码示例
- Ruby Thread.report_on_exception用法及代码示例
- Ruby Thread.group用法及代码示例
- Ruby Thread.list用法及代码示例
- Ruby Thread.ignore_deadlock =用法及代码示例
- Ruby Thread.stop用法及代码示例
- Ruby Thread.abort_on_exception=用法及代码示例
- Ruby Thread.stop?用法及代码示例
- Ruby Thread.new用法及代码示例
- Ruby Thread.report_on_exception=用法及代码示例
- Ruby Thread.value用法及代码示例
- Ruby Thread.run用法及代码示例
- Ruby Thread.status用法及代码示例
- Ruby Thread.priority=用法及代码示例
- Ruby Thread.key?用法及代码示例
- Ruby Thread.keys用法及代码示例
- Ruby Thread.alive?用法及代码示例
- Ruby Thread.priority用法及代码示例
- Ruby Thread.handle_interrupt用法及代码示例
- Ruby Thread.raise用法及代码示例
- Ruby Thread.current用法及代码示例
注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Thread.thread_variable_get。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。