import os
from multiprocessing import Pool
"""
我的出的结论是不能在init中初始化 self.p_pool = Pool(3)
"""
class SomeClass(object):
def some_method(self):
print('start')
p_pool = Pool(3)
for i in range(5):
p_pool.apply_async(func=self.multi_task, args=(i,))
p_pool.close()
p_pool.join()
print('end')
def multi_task(self, var):
print(var, '|', os.getpid(), os.getppid())
cls = SomeClass()
cls.some_method()
python3 亲测有效!