我正在构建一个应用程序,用于查询api并将api的输出保存到数据库中。这不是火箭科学,它是有效的,但随着数据量的增长,插入的速度会变慢。
我有一个简单的表单,它接受一个关键字,该关键字被添加到api字符串中以获取所有关键字。现在,我想将api的结果显示在屏幕上,这样用户就可以选择要保留的结果。
我在代码中添加了线程,这样插入的速度会更快。
有没有办法在所有线程都完成时触发一个动作?
谢谢
发布于 2014-08-20 02:40:57
要做到这一点,最简单的方法是加入线程池中的所有线程,这实际上是等待它们完成:
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但这只是在你使用普通线程的情况下。
https://stackoverflow.com/questions/25389834
复制相似问题