python使用多进程
2021-06-23 09:05
标签:print 多核 star 初始化 thread 基于 art sync multi python多线程适合IO密集型场景,而在CPU密集型场景,并不能充分利用多核CPU,而协程本质基于线程,同样不能充分发挥多核的优势。 针对计算密集型场景需要使用多进程,python的multiprocessing与threading模块非常相似,支持用进程池的方式批量创建子进程。 示例代码: 注意:join()方法会等待所有子进程执行完毕,调用join()之前必须先调用close() python使用多进程 标签:print 多核 star 初始化 thread 基于 art sync multi 原文地址:https://www.cnblogs.com/chenqionghe/p/9674596.htmlimport os
import random
import time
from multiprocessing import Pool
from time import ctime
def task(name):
print(‘start task %s (%s)...‘ % (name, os.getpid()))
start = time.time()
time.sleep(random.random() * 3)
print(‘end task %s runs %0.2f seconds.‘ % (name, (time.time() - start)))
if __name__ == ‘__main__‘:
print(‘parent process %s.‘ % os.getpid())
p = Pool() # 初始化进程池
for i in range(5):
p.apply_async(task, args=(i,)) # 追加任务
p.close()
p.join() # 等待所有结果执行完毕
print(f‘all done at: {ctime()}‘)
上一篇:杂项-Java:JDK
下一篇:第一个SpringMVC程序