concurrent模块

concurrent是Python的池模块,包含进程池和线程池

进程池

import os
from concurrent.futures import ProcessPoolExecutor


def func():
    print('当前进程pid:', os.getpid())


if __name__ == '__main__':
    p = ProcessPoolExecutor(5)  # 创建一个进程池,池中有5个进程
    for i in range(10):
        p.submit(func)  # 往进程池提交任务

代码运行结果,进程号只有5个不一样

当前进程pid: 5720
当前进程pid: 10724 
当前进程pid: 5720
当前进程pid: 5720 
当前进程pid: 1012
当前进程pid: 10724
当前进程pid: 5720
当前进程pid: 10724
当前进程pid: 1012
当前进程pid: 8032

线程池

from concurrent.futures import ThreadPoolExecutor


def func(i):
    print('saiya06', i)


if __name__ == '__main__':
    p = ThreadPoolExecutor(5)  # 创建一个线程池,池中有5个线程
    for i in range(10):
        p.submit(func, i)  # 往线程池提交任务
saiya06 0
saiya06 1
saiya06 2
saiya06 3
saiya06 4
saiya06 5
saiya06 6
saiya06 7
saiya06 8
saiya06 9
posted @ 2022-12-06 00:41  saiya6  阅读(40)  评论(0)    收藏  举报