线程池

code

import os
import time
from concurrent.futures.thread import ThreadPoolExecutor


def test(n):
    print(f'n:{n}-os.getpid:{os.getpid()}')
    time.sleep(2)
    return 'hello'


# 定义一个回调函数,异步提交完后,有结果自动调用该函数
def call_back(n):
    print(f'nn;{n}')
    print(f'callback:n.result:{n.result()}')


if __name__ == '__main__':
    pool = ThreadPoolExecutor(5)
    print('zhu')
    t_list = []
    for i in range(10):
        res = pool.submit(test, i)
        # res = pool.submit(test, i).add_done_callback(call_back)
        t_list.append(res)
    print(f't_list:{t_list}')

    pool.shutdown()  # 等待线程池中所有任务运行完毕,关闭线程池

  

posted @ 2023-10-24 16:48  tslam  阅读(6)  评论(0编辑  收藏  举报