Sea*_*ere 6 ruby multithreading
可以不打电话Thread#join吗?在这种情况下,我不在乎线程是否爆炸 - 我只是想让Unicorn继续处理.
class MyMiddleware
def initialize(app)
@app = app
end
def call(env)
t = Thread.new { sleep 1 }
t.join # is it ok if I skip this?
@app.call env
end
end
Run Code Online (Sandbox Code Playgroud)
我会得到"僵尸线程"或类似的东西吗?
没有调用是完全没问题的join- 事实上,join多线程代码通常根本不需要.只有join在需要阻塞直到新线程完成时才应该调用.
你不会得到一个"僵尸"线程.新线程将一直运行直到完成,然后为您自行清理.