Ниже приведена структура обработки данных и результатов печати.Некоторое содержимое будет распечатано во время process_records
, поэтому я хочу, чтобы для всех потоков ensure
часть могла быть распечатана в самом конце программы, выполняющейся вместе с порядком , как и первая часть нитки, гарантирующая, что часть должна быть распечатанапервый.Как я могу сделать это, не перемещая print_report
из Thread.new do
?Спасибо
lock = Mutex.new()
thread_num.times do |i|
threads << Thread.new do
records = lock.synchronize{db_proxy.query(account_id)}
result1 = process_records(records)
result2 = process_records2(records)
result3 = process_records3(records)
ensure
print_report(result1, result2, result3)
end
}
end
end