背景是提高爬虫的速度。
代码里分别用了 Parallel 和普通多线程(Thread)的办法,这两个办法的打印结果见文件尾部注释
https://gitee.com/crella/rubycode/blob/master/help_mutithread.rb
问题:1、从 Parallel 方法的打印结果来看,这算是并行成功吗?因为好像 windows 上的 ruby 不支持 fork,所以 Parallel 可能无法利用多核。
2、我觉得这里的场景用不到 async,但是如果用 async 写,怎么传参数给用了 async 的函数?就是怎样用 async 来实现多线程 分别 下载指定页数的 html 的功能?
ruby async 的文档在: https://github.com/socketry/async
吐槽: 经常看不懂 ruby 的 proc
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.