我正在构建一个查询api的应用程序,它将api的输出保存到数据库中。 这不是火箭科学,它正在发挥作用,但随着数据量的增长,插入速度变慢。
我有一个简单的表单,它接受一个关键字,该关键字被添加到api字符串中以获取所有关键字。我现在想在屏幕上显示api的结果,以便用户可以选择要保留的结果。
我在代码中添加了线程,因此插入更快。
有没有办法在所有线程完成后触发操作?
由于
答案 0 :(得分:0)
最简单的方法是加入线程池中的所有线程,这实际上是等待它们完成:
threadpool = []
threadpool << Thread.new { do_stuff }
threadpool << Thread.new { do_more }
threadpool.map &:join # wait for all threads to finish
do_final_stuff # code below the join can only run when all threads finish
但那就是你使用普通线程。