基本上,我的所有逻辑都在线程触发的一堆事件处理程序中。在主线程中建立事件处理程序之后:
puts 'Now connecting...'
socket = SocketIO::Client::Simple.connect 'http://localhost:3000'
socket.on :connect do
puts 'Connected'
end
我在主线程中没有其他任何事情要做...但是当我退出它时,整个过程退出!我想我可以做一个while 1 {sleep 3}
或其他东西,但这似乎是一个黑客。
据我所知,守护程序线程在Windows上也不起作用,所以我应该在这做什么?
答案 0 :(得分:1)
如果您正在创建线程,那么您有义务在终止之前等待它们完成。通常,这是通过所讨论的一个或多个线程上的join
来完成的。
你有办法从该SocketIO实例中获取线程吗?如果是,请join
。