首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python异步还是多线程,用于从不同的源获取数据?

Python异步还是多线程,用于从不同的源获取数据?
EN

Stack Overflow用户
提问于 2021-08-03 07:28:05
回答 1查看 111关注 0票数 0

我有一个Python应用程序,需要从2-3个不同的源( Server、MongoDB等)获取数据。而且可以并行完成,因为稍后我只需要将所有数据放在一起,而每个请求都不依赖于其他请求。

我想不出哪个更适合这种情况-线程、进程还是异步等待?

我读到的差别主要是在CPU使用和I/O方面,但是如果我只是希望同时(而不是顺序地)发出多个请求,该怎么办?当然,这里根本没有CPU的使用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-03 08:48:53

我建议你看看python的内置穿线模块.

..。医生的一句话:

CPython实现细节:在CPython中,由于全局解释器锁,只有一个线程可以同时执行CPython代码(尽管某些面向性能的库可能克服了这个限制)。如果您希望您的应用程序更好地利用多核计算机的计算资源,建议您使用多处理或concurrent.futures.ProcessPoolExecutor。但是,如果要同时运行多个I/O绑定任务,线程仍然是一个合适的模型。

总之..。多线程存在GIL (例如全局解释器锁)的问题,但是由于您可以读取这里.

...the GIL在执行I/O时总是被释放。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68631957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档