python - 如何在python中并行化类方法?
问题描述
我有一个带有方法的类foo()
,以及dictionary
带有该类的一堆对象的类。
如何foo()
在我的对象集合中并行执行 ?
class MyClass:
def __init__(self,a):
self.a = a
def foo():
self.a+=1
if __name__ == "__main__":
#get a dictionary full of independent objects
dic={}
for kk in range(10):
dic[kk]=MyClass(kk)
#execute foo on each object.
#How to do it in a parallel way?
for myObject in dic.values():
myObject.foo()
pd:这可能是一个愚蠢的问题,在其他编程语言中非常简单,但是我在互联网上进行了谷歌搜索,并没有找到任何直接的解决方案。
解决方案
您没有提供代码示例,所以我会给您一些伪代码,但这应该让您了解如何解决它:
from multiprocessing import Pool
class myClass:
def foo(x):
# Do your processing here
return x
if __name__ == "__main__":
# Your dictionary here
some_dict = {"key1": {}, "key2": {}}
# Create an instance of your class
my_class = MyClass()
# Create a pool of workers
with Pool(5) as p:
p.map(my_class.foo, [obj for obj in some_dict.values()])
推荐阅读
- bots - 如何在任何地方在 IQ bot 自动化中训练图像文件
- api - 空手道 API:忽略“?” 在网址中
- python - websockets中的内存泄漏
- python - Python 正则表达式正面向后看
- wordpress - 删除在除 SAVOY、wordpress 之外的其他完美主题中工作的购物车项目功能
- mongodb - docker-compose, mongodb, 单节点副本集
- swift - 使用 Boxing 检查 MVVM Swift 中的 UITextField 是否为空
- visual-studio-code - 带有颜色的 VSCode 终端
- c - 如何跟踪多个文本文件的位置?
- sql - 在 SQL Server 中比较行与分组依据