我想知道Thread.current.object_id
是否可以在同一个帖子中更改 ;那就是:
Thread.current.object_id #=> 11429860
# some ruby code
Thread.current.object_id #=> 11749360 different from the previous result
我想它不会改变,但也许Thread.current
可能会被一些内部的Ruby调用重新初始化...
我的意思是,如果我今天运行ruby循环/守护进程/长期脚本(例如Rails应用程序),我应该期望Thread.current.object_id
即使在6个月之后也会一样吗?
答案 0 :(得分:2)
Thread.current可以改变,因为它返回当前正在执行的线程,线程对象id不会。
答案 1 :(得分:1)
puts Thread.current
#=> #<Thread:0x00000001d87fd8>
Thread.new{puts Thread.current}.join
#=> #<Thread:0x00000001f97120>
更新您的问题。是的,只要它没有重新启动,线程就会保持不变。计算机不会像你那样感觉几秒到六个月之间的差异。