from multiprocessing import Process
deffunc1():print("func1...")deffunc2():print("func2...")if __name__ =='__main__':
p1 = Process(target=func1)
p2 = Process(target=func2)
p1.start()
p2.start()# 进程等待# p1.join()# p2.join()
为进程传入参数
import time
from multiprocessing import Process
import os
deftask(x, y,**kwargs):# **kwargs是一个字典可变参数print(f"process {os.getpid()} is running...")print(x, y, kwargs)if __name__ =='__main__':
p = Process(target=task, name="进程名字", args=(10,30), kwargs={"introduce":"welcome"})
p.start()print(p.name)# 进程运行1秒后终止
time.sleep(1)
p.terminate()# 查看进程存活状态print(p.is_alive())
p.join()print("完成!")
进程池
from multiprocessing import Pool
import time
import os
deffunc(a):print(a, os.getpid())
time.sleep(1)deffunk(b):print(b, os.getpid())
time.sleep(1)if __name__ =='__main__':
pool = Pool(2)
start = time.time()for i inrange(20):
pool.apply_async(func,(i,))# pool.apply(func,(i,))
pool.close()
pool.join()
end = time.time()print(end - start)print("finished")