from multiprocessing import Process #多进程
from multiprocessing import pool
from concurrent.futures import ProcessPoolExecutor #进程池
这三个 有什么区别?
from multiprocessing import Process #多进程
from concurrent.futures import ProcessPoolExecutor #进程池
这两个用过了 ,一个是多进程 一个是进程池 ,
from multiprocessing import pool 也是一样的吗?
from multiprocessing import Process #多进程
#python的 多进程和 多线程 使用方法是一样的,
#但是 开辟进程是非常耗费资源的,而且是需要时间的 循环次数少了效果不明显
#开辟进程的时间,取决于CPU, CPU什么时候开始就什么时候执行
def func():
for i in range(10000):
print("子进程", i)
if __name__ == '__main__':
p = Process(target=func)
p.start()
for i in range(10000):
print("主进程", i)
from concurrent.futures import ProcessPoolExecutor #进程池
#进程池
def fn(name):
for i in range(1000):
print(name,i)
if __name__=='__main__':
#创建进程池
with ProcessPoolExecutor(15) as t: #开15个进程
for i in range(10):
t.submit(fn, name=f"进程{i}")
#等待进程池中的任务全部执行完毕,才继续执行(守护)
print("全部完成")