似乎在 Ruby 2.4 和 2.5 中,当你在线程上调用
我希望能够在次要线程被终止之前阻止主线程的执行。我尝试使用
如何确保在主线程继续之前线程已被终止?
#kill
方法时,线程并不会立即停止。以下代码片段将打印几次 Not dead:thread = Thread.new { loop {} }
thread.kill
puts "Not dead" while thread.alive?
我希望能够在次要线程被终止之前阻止主线程的执行。我尝试使用
thread.join.kill
,但是这会阻塞主线程,因为线程的循环永远不会终止。如何确保在主线程继续之前线程已被终止?
join
会阻塞调用线程,直到线程被正确终止。 - tadman