jmw*_*ght 5 ruby multithreading
如果我使用以下代码启动了一个线程,如何从线程本身中捕获/检测退出调用,以便在终止之前进行一些清理?
thr = Thread.new { sleep }
thr.status # => "sleep"
thr.exit
thr.status # => false
Run Code Online (Sandbox Code Playgroud)
我在想,也许它会像下面这样,但我不确定.
thr = Thread.new {
begin
sleep
rescue StandardError => ex
puts ex.message
rescue SystemExit, Interrupt
puts 'quit'
ensure
puts 'quit'
end
}
thr.status # => "sleep"
thr.exit #=> "quit"
thr.status # => false
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
589 次 |
| 最近记录: |