我有这段代码:
puts "Start"
loop do
Thread.start do
puts "Hello from thread"
exit
end
text = gets
puts "#{text}"
end
puts "Done"
我期望看到的是“Start”后面跟着“Hello from thread”,然后我可以输入内容并得到回显。但实际上,我只看到了“Start”和“Hello from thread”,程序就退出了。
根据
exit
的文档:终止当前线程,并安排另一个线程运行。如果当前线程已被标记为要被终止,则exit函数会返回该线程。如果当前线程是主线程或最后一个线程,那么exit函数将退出整个进程。
但我想我已经启动了一个新线程,为什么它会退出我的主进程呢?