在Ruby中的Thread.new exit之后打印一行

在Ruby中的Thread.new exit之后打印一行,ruby,Ruby,基本上,我想知道由thread.new创建的线程何时退出并在其后面放置一行。如何执行此操作?您可以使用阻止,直到线程终止: thread = Thread.new # Obviously called with necessary arguments thread.join puts "Thread has terminated" 我不知道怎么做。我正在做一个项目,产生了一个新的线程来发送电子邮件使用小马。但是在我添加了这个函数之后,这个项目开始消耗大量的CPU资源。所以我想知道生成的线程是

基本上,我想知道由
thread.new
创建的线程何时退出并在其后面放置一行。如何执行此操作?

您可以使用阻止,直到线程终止:

thread = Thread.new  # Obviously called with necessary arguments
thread.join
puts "Thread has terminated"

我不知道怎么做。我正在做一个项目,产生了一个新的线程来发送电子邮件使用小马。但是在我添加了这个函数之后,这个项目开始消耗大量的CPU资源。所以我想知道生成的线程是否从未真正退出。感谢您的帮助。Thread.join正在阻止原始线程,直到生成的线程终止?如果我希望两个线程同时运行该怎么办如果它同时运行,您如何知道它何时终止?你没有。而且不能。如果这是你想要的,你可以打电话定期检查。另外,
thread.join
可以在线程开始执行后转到任何地方。它不必紧跟在后面。另外,您可以在代码
线程的末尾执行
放置
。新的
正在执行…我明白了。谢谢你的帮助!无论如何,我发现了不寻常的高CPU使用率。这完全无关。哈哈