ruby - 如何控制线程之间的运行顺序?
问题描述
以下是处理数据和打印结果的结构。期间会打印出一些内容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
解决方案
推荐阅读
- angular - 嵌套:ENOENT:没有这样的文件或目录,打开
- reactjs - 测试 withRouter() 中导出的 React 组件的最佳方法是什么
- google-apps-script - 如何通过 OAuth2 在 GAS 中使用多个帐户?
- sorting - Elasticsearch 脚本排序耗时太长
- spring-restdocs - Spring rest docs 无法使用 mvn clean package 生成生成的片段
- flutter - 颤动验证单选按钮
- windows - 压缩文件夹时Windows默认命令是什么?
- fiddler - Fiddler 会话由于 FTS>Path 而被隐藏
- javascript - 刷新 React 中的特定组件
- c++ - 将指向方法的指针传递给模板类