我一次初始化了 250 个线程,它们返回更新数据库中的一些数据。我在我的 rails 2 应用程序中使用 Postgresql 数据库。我设置了池大小 100 和最大连接数 100,但问题是在 100 个连接后,剩余线程会导致诸如“致命错误:客户端太多”之类的问题。所以现在我想要的是,只要任何线程完成其进程,然后终止该线程。所以要实现这一点我该怎么办?
这是我的代码:
consider detail = "contains 250 items in an array"
threads = []
detail.each do |item|
threads << Thread.new( item) do | item |
# block of code
end
end
threads.each { | t | t.join }