'''
进程池示例
'''
import multiprocessing
import random
import time
def func(arg, name):
print("正在执行{0}...".format(arg))
time.sleep(random.randint(1, 5))
print("进程%d完毕!" % (name))
return "fuck"
pass
def func2(arg, name):
print("正在执行任务2{0}...".format(arg))
time.sleep(random.randint(1, 5))
print("进程%d完毕!" % (name))
return "fuck"
pass
def onFuncReturn(result):
print("得到结果{0}".format(result))
pass
def asyncPoolDemo():
pool = multiprocessing.Pool(3)
pool.apply_async(func=func, args=("hello", 1), callback=onFuncReturn)
pool.apply_async(func=func2, args=("阿西吧", 2), callback=onFuncReturn)
pool.apply_async(func=func, args=("fuck off", 3), callback=onFuncReturn)
pool.apply_async(func=func2, args=("bye", 4), callback=onFuncReturn)
pool.apply_async(func=func, args=("雅蠛蝶", 5), callback=onFuncReturn)
pool.close()
pool.join()
def syncPoolDemo():
pool = multiprocessing.Pool(3)
pool.apply(func=func, args=("hello", 1))
pool.apply(func=func2, args=("阿西吧", 2))
pool.apply(func=func, args=("fuck off", 3))
pool.apply(func=func2, args=("bye", 4))
pool.apply(func=func, args=("雅蠛蝶", 5))
pool.close()
pool.join()
if __name__ == "__main__":
syncPoolDemo()
print("main over")