python3 multiprocessing 封装成类
时间: 2023-08-01 13:06:21 浏览: 44
下面是一个简单的 Python3 multiprocessing 封装成类的示例:
```python
import multiprocessing
class MyProcess:
def __init__(self, target, args=()):
self.target = target
self.args = args
self.process = None
def start(self):
self.process = multiprocessing.Process(target=self.target, args=self.args)
self.process.start()
def join(self):
self.process.join()
```
使用示例:
```python
def foo(name):
print("Hello, {}!".format(name))
if __name__ == '__main__':
p = MyProcess(target=foo, args=('world',))
p.start()
p.join()
```
在这个示例中,我们创建了一个名为 `MyProcess` 的类,它接受一个 `target` 函数和一个可选的参数元组 `args`。`start()` 方法创建一个新的进程并开始运行 `target` 函数。`join()` 方法等待进程结束。
在上面的示例中,我们定义了一个名为 `foo()` 的函数,并将它作为 `MyProcess` 类的 `target` 参数传递。我们创建一个新的 `MyProcess` 实例,传递 `foo` 函数的名称和一个参数元组 `('world',)`。然后,我们调用 `start()` 方法来启动进程,并在进程结束后调用 `join()` 方法等待它结束。