gpt4 book ai didi

python - 在同一对象上多处理独立函数的最有效方法

转载 作者:太空宇宙 更新时间:2023-11-04 04:42:36 25 4
gpt4 key购买 nike

在 python 脚本中,我有一个大型数据集,我想对其应用多个函数。这些功能负责创建保存到硬盘驱动器的某些输出。

一些注意事项:

  1. 功能独立
  2. 所有函数都不返回任何内容
  3. 这些功能将花费不同的时间
  4. 部分功能可能会失效,没关系

我能否以任何方式对其进行多处理,将每个函数和数据集分别发送到一个核心并在那里运行?这样我就不需要第一个功能在第二个功能开始之前完成?它们不需要顺序依赖。谢谢!

最佳答案

由于您的函数是独立的并且只读取数据,所以只要您的数据在函数执行期间被修改不是问题,那么它们也是线程安全的。

使用 thread pool (click) .您必须为要运行的每个函数创建一个任务。

注意:为了让它在多个内核上运行,您必须使用 Python Multiprocessing .否则所有线程都将在单个内核上运行。发生这种情况是因为 Python 具有全局解释器锁 (GIL)。更多信息Python threads all executing on a single core

或者,您可以使用 DASK ,它会增加数据以运行一些多线程。虽然会增加一些开销,但它可能会更快地满足您的需求。

关于python - 在同一对象上多处理独立函数的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50318674/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com