V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Wallace007
V2EX  ›  问与答

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

  •  
  •   Wallace007 · 2019-06-05 22:36:16 +08:00 · 2417 次点击
    这是一个创建于 2033 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    2 条回复    2019-06-06 02:09:35 +08:00
    youngce
        1
    youngce  
       2019-06-05 23:14:47 +08:00   ❤️ 1
    1. 由于 GIL,python 的线程池只能用来处理 IO 密集操作,无法利用多核优势。
    2."两者都是解决线程并发",celery 可以是分布式的。不同于线程池这种比较原生的写法,celery 一个庞大的框架,依赖于消息队列,你可以把 IO、CPU 密集的任务,传递给不同机器上的 celery worker 来进行处理,在 celery 的 task 函数里你可以在定制你的异步处理策略——多线程、多进程、协程。
    baojiweicn2
        2
    baojiweicn2  
       2019-06-06 02:09:35 +08:00 via Android
    celery 是分布式任务框架,简单来说他是队列,队列。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2608 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 11:00 · PVG 19:00 · LAX 03:00 · JFK 06:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.