Python中并行运行的线程?

2 投票
1 回答
1332 浏览
提问于 2025-04-16 18:25

我知道Jython和IronPython可以在多核或对称多处理器(SMP)机器上并行运行线程,因为它们的虚拟机实现支持这个功能。那在CPython中有没有类似的实现或扩展呢?我说的不是像http://docs.python.org/library/multiprocessing.html那样的多进程。

在多进程模块中,子进程和JVM或.Net中的线程相比,开销有多大?每个进程对象在Python运行时会有额外的开销吗?

我还看到过一种无栈的“任务单元”(Tasklets)方式来实现并发,但它们使用的是轮转调度,不能并行运行任务单元。

1 个回答

6

multiprocessing模块使用的是完整的进程。这意味着它会进行所谓的分叉()操作。所以这里说的不是你通常提到的那种POSIX线程,而是完全不同的进程。

撰写回答