multiprocessing相关内容

如何在 python 多处理池 apply_async 中使用关键字参数

我正在尝试掌握 python 的多处理模块,特别是 Pool 的 apply_async 方法.我正在尝试使用参数和关键字参数调用函数.如果我在没有 kwargs 的情况下调用该函数,那很好,但是当我尝试添加关键字参数时,我得到:TypeError: apply_async() got an unexpected keyword argument 'arg2'下面是我正在运行的测试代码 #!/u ..
发布时间:2022-01-12 13:13:38 Python

Python多处理池,加入;不等待继续?

(1) 我正在尝试使用 pool.map 后跟 pool.join(),但 python 似乎并没有等待 pool.map 在继续通过 pool.join() 之前完成.这是我尝试过的一个简单示例: 来自多处理导入池富={1:[]}定义 f(x):foo[1].append(x)打印 foo定义主():池 = 池()pool.map(f,范围(100))池.close()pool.join()打 ..
发布时间:2022-01-12 13:13:28 Python

在 pyqt 小部件中实现 pyqtgraph 多处理

我正在尝试在我用 Python 设计的 GUI 上绘制图像.完整的程序将从相机收集图像数据,然后在 GUI 上显示图像.我已经探索过使用 matplotlib,但它对我的应用程序来说太慢了.我需要情节更新得相当快(最好尽可能快地从相机获取,每半秒或一秒一次).这对 pyqt 来说是一个挑战,因为似乎即使使用 QThread,绘图也只能在主线程上更新,这会导致我的程序停止并且用户无法访问 GUI. ..
发布时间:2022-01-12 13:13:06 Python

酸洗错误:不能酸洗<type 'function'>

我想知道这个错误可能意味着什么: PicklingError: Can't pickle : 属性查找 __builtin__.function 失败 我知道这与使用多核有关.我在集群上运行我的程序,并在我的这行代码中使用了 15 个线程: gauss2 = PTSampler(ntemps, renwalkers, rendim, lnlike, lnpr ..
发布时间:2022-01-12 13:12:48 Python

在 Windows 上导入和使用使用多处理而不会导致无限循环的模块

我有一个名为 multi.py 的模块.如果我只是想将 multi.py 作为脚本执行,那么避免在 Windows 上崩溃(产生无限数量的进程)的解决方法是将多处理代码放在: 如果 __name__ == '__main__': 但是,我尝试将它作为模块从另一个脚本导入并调用 multi.start().这如何实现? # multi.py导入多处理定义测试(x):x**=2定义开始():po ..
发布时间:2022-01-12 13:12:30 Python

启动 concurrent.futures.ProcessPoolExecutor 并初始化?

我打算使用 concurrent.futures.ProcessPoolExecutor 来并行执行函数.根据 documentation,它的 executor 对象map 中只能接受一个简单的函数.我的实际情况涉及执行“待并行化"函数之前的初始化(加载数据).我该如何安排? “待并行化"函数在一次迭代中被多次调用.我不希望它每次都重新初始化. 换句话说,有一个 init 函数可以为 ..
发布时间:2022-01-12 13:12:12 Python

Python的Multiprocessing之进程通信

我了解了 Python 多进程的 Pipes/Queues/Shared ctypes Objects/Managers,我想将它们与 Linux 的匿名管道、命名管道、共享内存、套接字等进行比较.我现在有以下问题 Python 多处理的管道和队列模块是基于匿名管道的.是否提供命名管道? Python multiprocessing.sharedctypes 是否支持独立进程沟通?我认 ..
发布时间:2022-01-12 13:12:02 Python

Python中的类中的池

我想在一个类中使用 Pool,但似乎有问题.我的代码很长,我创建了一个小型演示变体来说明问题.如果您能给我下面的代码变体,那就太好了. 来自多处理导入池类系列实例(对象):def __init__(self):self.numbers = [1,2,3]定义 F(自我,x):返回 x * x定义运行(自我):p = 池()打印 p.map(self.F, self.numbers)ins = S ..
发布时间:2022-01-12 13:11:52 Python

让我的 NumPy 数组跨进程共享

我已经阅读了很多关于 SO 的关于共享数组的问题,对于简单的数组来说似乎很简单,但我一直试图让它适用于我拥有的数组. 将 numpy 导入为 np数据=np.zeros(250,dtype='float32, (250000,2)float32') 我尝试通过尝试以某种方式使 mp.Array 接受 data 来将其转换为共享数组,我还尝试使用 ctypes 来创建数组: import mu ..
发布时间:2022-01-12 13:11:34 Python

如何立即运行生成器函数的初始化代码,而不是在第一次调用时?

我有一个类似这样的生成器函数: def mygenerator():next_value = compute_first_value() # 代价高昂的操作而下一个值!= 终止值:产生下一个值下一个值 = 计算下一个值() 我希望在调用函数后立即运行初始化步骤(在 while 循环之前),而不是仅在第一次使用生成器时运行.有什么好的方法可以做到这一点? 我想这样做是因为生成器将在单独的线 ..
发布时间:2022-01-12 13:11:25 Python

启动一个单独的进程

我想要一个脚本来启动一个新进程,以便在初始脚本退出后新进程继续运行.我希望我可以使用 multiprocessing.Process 来启动一个新进程,并设置 daemon=True 以便主脚本可以在创建的进程继续运行时退出. 但似乎第二个进程在主脚本退出时被静默终止.这是预期的行为,还是我做错了什么? 解决方案 来自 Python 文档: 当一个进程退出时,它会尝试终止其所有 ..
发布时间:2022-01-12 13:11:17 Python

使用多处理将方法并行应用于对象列表

我创建了一个包含多种方法的类.其中一种方法非常耗时,my_process,我想并行执行该方法.我遇到了 Python 多处理 - 将类方法应用于列表对象,但我不确定如何将其应用于我的问题,以及它将对我班级的其他方法产生什么影响. 类 MyClass():def __init__(自我,输入):self.input = 输入self.result = intdef my_process(self, ..
发布时间:2022-01-12 13:11:00 Python

与 Python 中的多处理相比,concurrent.futures 有哪些优势?

我正在用 Python 编写一个应用程序,我需要同时运行一些任务.模块 multiprocessing 提供类 Process 并且 concurrent.futures 模块具有类 ProcessPoolExecutor.两者似乎都使用多个进程来执行它们的任务,但它们的 API 是不同的.为什么我应该使用一个而不是另一个? 我知道 concurrent.futures 是在 Python ..
发布时间:2022-01-12 13:10:52 Python

Python 中的 ProcessPoolExecutor 和 Lock

我正在尝试将 concurrent.futures.ProcessPoolExecutor 与 Locks 一起使用,但出现运行时错误.(如果相关,我正在使用 Windows) 这是我的代码: 导入多处理从 concurrent.futures 导入 ProcessPoolExecutor进口时间def f(i, 锁):带锁:打印(我,'你好')时间.sleep(1)打印(我,'世界')定 ..
发布时间:2022-01-12 13:10:45 Python

如何在 django 视图中使用 python 多处理模块

我有一个简单的函数来遍历 URL 列表,使用 GET 来检索一些信息并相应地更新 DB (PostgresSQL).该功能完美运行.但是,一次一个地浏览每个 URL 会占用太多时间. 使用 python,我可以执行以下操作来并行执行这些任务: 来自多处理导入池定义更新数据库(IP):代码在这里...如果 __name__ == '__main__':pool = Pool(processe ..
发布时间:2022-01-12 13:10:38 Python

使用 Python 将巨大的嵌套循环划分为 8 个(或更多)进程的巧妙方法是什么?

这一次我面临一个“设计"问题.使用 Python,我实现了一个使用 5 个参数的数学算法.为了找到这 5 个参数的最佳组合,我使用 5 层嵌套循环来枚举给定范围内的所有可能组合.完成所需的时间似乎超出了我的预期.所以我觉得是时候使用多线程了…… 嵌套循环的核心任务是计算和保存.在当前代码中,每个计算的结果都附加到一个列表中,并且该列表将在程序结束时写入一个文件. 由于我对任何语言的多线 ..
发布时间:2022-01-12 13:10:29 Python