【发布时间】:2013-12-03 15:57:09
【问题描述】:
我是 Ruby 新手,快速搜索该问题并没有给出结果。对于这种情况,编写测试代码相对容易,但可能值得在这里询问以获得权威答案。
考虑场景:在从命令行调用的 ruby 应用程序中,主线程创建并启动工作线程。工作线程执行长时间的计算。主线程的方法不等待任何东西,只是在产生工人后完成。
主线程退出后,进程退出和工作线程会被终止吗?
是否有描述这种行为的文档?
【问题讨论】:
标签: ruby multithreading
我是 Ruby 新手,快速搜索该问题并没有给出结果。对于这种情况,编写测试代码相对容易,但可能值得在这里询问以获得权威答案。
考虑场景:在从命令行调用的 ruby 应用程序中,主线程创建并启动工作线程。工作线程执行长时间的计算。主线程的方法不等待任何东西,只是在产生工人后完成。
主线程退出后,进程退出和工作线程会被终止吗?
是否有描述这种行为的文档?
【问题讨论】:
标签: ruby multithreading
只要这些线程是守护线程,它们就会与您的程序一起退出。有关于线程退出的文档(虽然很短)here。但是,如果您希望在由另一个进程(以及相应的进程结束)产生后留下来的进程,那么您应该查看适合该任务的多处理 gem 或库。
【讨论】: