Python 多线程/处理模块,用于具有需要排序的依赖项的任务

标签 python multithreading concurrency dependencies multiprocessing

我正在实现一个 Python 模块,该模块提供了一个线程(或进程)池,可以同时处理可能相互依赖的处理任务。例如,在订单管理系统的情况下,您可以下一个订单,再下一个订单,取消第二个订单,下第三个订单,然后取消第一个订单 - 所有订单下达都可以同时处理,但取消不能与他们各自的订单同时发生,必须在他们的订单下达完成后发生。我想出了一个很好的通用解决方案来解决此类问题,并想将其用作我的第一个开源贡献。

在花太多时间在这上面之前,我只想知道这样的东西是否已经存在。有谁知道执行此操作的现有 Python 包?这对任何人都有用吗?

最佳答案

是的,看看 .它具有用于多线程、多处理和分布式计算的不同调度器,分别通过TaskPoolPool 重用线程和进程。您可以使用它构建任何任务依赖项(有向无环图 - DAG)。不过,我不确定是否支持取消,但您可以在任务中手动实现。

关于Python 多线程/处理模块,用于具有需要排序的依赖项的任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38690202/

相关文章:

python - 使用字典理解和 eval() 创建字典给我 NameError

python - 如何从列表中调用函数?

c++ - 如何使用 POSIX 线程实现阻塞读取

java - ExecutorService 异常和内存泄漏?

java - 使用内在锁时,JVM 如何确定实例?

python - 我如何找到当前的分贝级别并将其设置为变量?

python - Django 1.8 不使用我的自定义登录页面

Java通知其他线程

c - 通过管道将相同的数据发送到多个线程?

ios - Swift:如何确保 seque 在 http 任务完成之前不运行?