Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将一个简单的计算并行化_Python_Parallel Processing - Fatal编程技术网

Python 将一个简单的计算并行化

Python 将一个简单的计算并行化,python,parallel-processing,Python,Parallel Processing,假设我有一个简单的类和其中的一些对象: class Myclass: def __init__(self,a): self.a = a def square(self): self.a = self.a**2 list_of_objects = [Myclass(x) for x in range(10)] 如何计算: for obj in list_of_objects: obj.square() 以类似的方式 当然,我的类要复

假设我有一个简单的类和其中的一些对象:

class Myclass:

    def __init__(self,a):
        self.a = a

    def square(self):
        self.a = self.a**2

list_of_objects = [Myclass(x) for x in range(10)]
如何计算:

for obj in list_of_objects:
    obj.square()
以类似的方式


当然,我的类要复杂得多,但语法应该是相同的。

尝试查看Python的多处理模块。你可以这样做:

import multiprocessing

procs = []
for obj in list_of_objects:
    proc = multiprocessing.Process(target = obj.square)
    procs.append(proc)
    proc.start()

for proc in procs:
    proc.join()

尽管如此,在这个简单的示例中,由于设置过程所涉及的开销,使用多处理要慢一些。在本例中,当我对其计时时,只进行序列化会更快。因此,我会尝试对更复杂的代码进行计时,以确保它值得开销。

这正是我在文档中需要的条目;谢谢