Ho questo pezzo di codice:Perché l'interruzione di un thread Ruby uccide l'intero programma?
puts "Start"
loop do
Thread.start do
puts "Hello from thread"
exit
end
text = gets
puts "#{text}"
end
puts "Done"
quello che mi aspetterei è vedere "Start" seguito da "Ciao da filo" e poi ho potuto entrare in ingresso che otterrebbe eco di nuovo me. Invece ricevo "Start" e "Hello da thread" e quindi il programma termina.
Dalla documentazione sulla exit
:
Termina thr e gli orari altro thread da eseguire. Se questo thread è già contrassegnato per essere eliminato, exit restituisce il Thread. Se questo è il thread principale, o l'ultimo thread, esce dal processo.
Ma pensavo di aver generato un nuovo thread? Perché sta uscendo dal mio processo principale?