以下是处理数据和打印结果的结构。某些内容将在process_records
期间打印出来,因此我希望所有线程ensure
的部分都可以在程序运行的最后以 order 的形式打印出来,例如第一个线程的确保零件应先打印出来。如何在不将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