有没有类似 node 中 async 一样易用的多线程库?

2016-08-17 16:32:32 +08:00
 Trim21
之前用 node 做爬虫的时候一直用的是 async 控制并发数,到 Python 下面看了看多线程,控制线程数量有些麻烦,有没有类似 async 这样封装好的只要传递一个参数 list 和函数,能根据设定的限制自动控制并发线程数的库或者包?
2085 次点击
所在节点    Python
7 条回复
bigtan
2016-08-17 16:58:10 +08:00
multiprocessing pool
shyling
2016-08-17 17:38:18 +08:00
不是有 concurrent.futures 么?
janxin
2016-08-17 19:47:40 +08:00
node 的 async 不是还是单线程的么?
Trim21
2016-08-17 19:55:45 +08:00
@janxin 其实我的意思是,彻底参数列表和函数就可以并行的。
其实现在也是在写爬虫,要并行也是因为等 IO
eloah
2016-08-17 22:01:55 +08:00
node 本身不就是单线程的吗......
话说,python 下也有 async 这个库......
multiprocessing 就好啦
latyas
2016-08-18 08:23:13 +08:00
@Trim21 multiprocessing
爬虫可用 tornado 或者 asyncio 这是异步 io 的库 速度可以很快
Zuckonit
2016-08-18 11:14:05 +08:00
多线程: from multiprocessing.dummy import Pool as ThreadPool
有个第三方库: threadpool
可以考虑下协程: gevent

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/299945

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX