2016-09-25 86 views
3

基本上,我的所有逻辑都在线程触发的一堆事件处理程序中。之后,我建立在主线程事件处理程序:红宝石 - 当主线程退出时不要终止进程

puts 'Now connecting...' 
socket = SocketIO::Client::Simple.connect 'http://localhost:3000' 

socket.on :connect do 
    puts 'Connected' 
end 

我真的没有别的主线程做......但是当我离开它,整个过程退出!我想我可以做一个while 1 {sleep 3}或其他东西,但这似乎是一个黑客。

从我所知道的,守护线程也不能在Windows上工作,所以我应该在这里做什么?

回答

1

如果您正在创建线程,那么您有义务在终止之前等待它们完成。正常情况下,这是通过join在一个或多个线程上完成的。

您是否有办法从该SocketIO实例中获取线程?如果是的话,join吧。