ruby – 同时下载多个文件(多线程)

ruby – 同时下载多个文件(多线程),第1张

概述我正在尝试在 ruby中使用多线程来同时引导大量网络连接,但我真的坚持基础. 我试过这个: for i in 1..1000 do Thread.new{load(i)}enddef load(i) File.open(filePath, "w") do |output| open(imageURL) do | input | output << input.re 我正在尝试在 ruby中使用多线程来同时引导大量网络连接,但我真的坚持基础.

我试过这个:

for i in 1..1000 do  Thread.new{load(i)}enddef load(i)  file.open(filePath,"w") do |output|    open(imageURL) do | input |      output << input.read    end  endend

这只是下载脚本的一部分,用于显示我正在做的事情.实际上我首先加载一些HTML,用Nokogiri解析它等等……

我在终端中用“ruby script.rb”运行这个脚本 – 什么都没有 – 真的什么也没发生.

不知道怎么解决这个问题?

谢谢allot
克里斯

解决方法 您的脚本将立即退出,因为您没有等待线程完成.

考虑this section of the Pickaxe的第一个例子 – 您需要join您的线程,以便实际等待所有线程完成他们的工作.

所以你应该试试这个:

def load(i)  ...endthreads = []for i in 1..1000 do  threads << Thread.new { load(i) }endthreads.each { |t| t.join }
总结

以上是内存溢出为你收集整理的ruby – 同时下载多个文件(多线程)全部内容,希望文章能够帮你解决ruby – 同时下载多个文件(多线程)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1272272.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-08
下一篇2022-06-08

发表评论

登录后才能评论

评论列表(0条)

    保存