Python 中的并行编程
在 Python 中,并行编程允许程序的某些部分同时执行,从而可能提高性能。为了在 Python 中实现并行性,多处理模块是一个流行的选择。
示例:
考虑涉及两个独立函数solve1和solve2的代码结构。要并行化这些函数:
<code class="python">from multiprocessing import Pool pool = Pool() result1 = pool.apply_async(solve1, [A]) # Asynchronously evaluate solve1(A) result2 = pool.apply_async(solve2, [B]) # Asynchronously evaluate solve2(B) answer1 = result1.get(timeout=10) answer2 = result2.get(timeout=10)</code>
此代码创建一个处理池,该处理池生成进程来处理solve1和solve2的异步执行。每个进程利用不同的 CPU 核心来同时执行。
替代并行化选项:
并行化代码部分的另一个选项是使用并行映射。在这种情况下,您将有一个参数列表,并对每个参数并行应用一个函数:
<code class="python">args = [A, B] results = pool.map(solve1, args)</code>
注意事项:
虽然线程也可以Python 中用于并发的全局解释器锁 (GIL) 会阻止 Python 对象的并行执行,从而使线程对于并行化 Python 代码无效。
以上是如何使用多处理和并行映射并行化 Python 函数?的详细内容。更多信息请关注PHP中文网其他相关文章!