创建进程
from multiprocessing import Process
import os
def run(name):
print('运行子进程%s(%s)'%(name,os.getpid()))
def run2(name):
print('运行子进程%s(%s)'%(name,os.getpid()))
if __name__== "__main__":
print('当前进程是%s'%os.getpid())
# run('test') 这行代码仍然在当前进程中执行
# 创建一个新的进程 target :指定的函数
p = Process(target = run,args = ('test',))
#开始执行新进程
print('开始执行子进程')
p.start()
# time.sleep(1)
# 将子进程加入到主进程当中
p.join()
print('子进程执行完毕')
p2 = Process(target = run2,args =('test2',))
p2.start()
p2.join()
2.创建进程池
from multiprocessing import Pool
import os,time,random
def task(name):
print('运行任务%s(%s)'%(name,os.getpid()))
start = time.time()
time.sleep(random.randint(1,3))
end = time.time()
print('任务%s耗时为%.2f秒'%(name,end-start))
if __name__ == "__main__":
print('主进程是%s'%os.getpid())
# 初始化进程池
pool = Pool(4)
for i in range(6):
#将任务交给进程池去执行
pool.apply_async(task,args = ('任务%d'%i,))
pool.close()
pool.join()