请问 celery 和线程池有什么不一样或者应用场景有何不同,不怎么懂

2019-06-05 22:36:16 +08:00
 Wallace007

我知道两者都是解决线程并发的,刚熟悉了线程池,也看了 celery,还请大佬讲解

2230 次点击
所在节点    问与答
2 条回复
youngce
2019-06-05 23:14:47 +08:00
1. 由于 GIL,python 的线程池只能用来处理 IO 密集操作,无法利用多核优势。
2."两者都是解决线程并发",celery 可以是分布式的。不同于线程池这种比较原生的写法,celery 一个庞大的框架,依赖于消息队列,你可以把 IO、CPU 密集的任务,传递给不同机器上的 celery worker 来进行处理,在 celery 的 task 函数里你可以在定制你的异步处理策略——多线程、多进程、协程。
baojiweicn2
2019-06-06 02:09:35 +08:00
celery 是分布式任务框架,简单来说他是队列,队列。。。

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

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

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

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

© 2021 V2EX