2016-09-25 2 views
3

В принципе, вся моя логика находится в кучке обработчиков событий, которые запускаются потоками. После того, как я установить обработчики событий в главном потоке:Ruby - не убивайте процесс при выходе основного потока

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

socket.on :connect do 
    puts 'Connected' 
end 

Я на самом деле не что-нибудь еще, чтобы сделать в главном потоке ... но когда я выйти из него, весь процесс завершается! Думаю, я мог бы просто сделать while 1 {sleep 3} или что-то подобное, но это похоже на взломать.

Из того, что я могу сказать, потоки daemon также не работают на Windows, так что я должен здесь делать?

ответ

1

Если вы создаете темы, тогда ваше обязательство дождаться их завершения до завершения. Обычно это делается с помощью join на тему или темы.

У вас есть способ получить поток из этого экземпляра SocketIO? Если да, то join это.

Смежные вопросы