Thread.abort_on_exception = true
threads = 4.times.map do |number|
Thread.new(number) do |i|
raise "Boom!" if i == 1
print "#{i}\n"
end
end
puts "Waiting"
threads.each {|t| t.join }
puts "Done"
производит 0, 2 и затем ошибку. Я не понимаю, почему он выводит 2 каждый раз, когда имеет смысл вывести только 0, а затем выйти?Почему этот код Ruby Threading выводит 2?