以下是一个使用线程池的多线程代码示例:

import concurrent.futures

def worker(num):
    print(f"Thread-{num} is running")
    return num ** 2

if __name__ == "__main__":
    with concurrent.futures.ThreadPoolExecutor(max_workers=3) as executor:
        results = [executor.submit(worker, i) for i in range(1, 6)]
        for future in concurrent.futures.as_completed(results):
            print(future.result())

在这个示例代码中,我们首先定义了一个 worker 函数,它接受一个整数参数 num,打印输出当前线程的编号,并返回 num 的平方。

接下来,在主程序中,我们通过 concurrent.futures.ThreadPoolExecutor 创建了一个拥有 max_workers=3 个工作线程的线程池。然后,我们使用 executor.submit 方法提交了 5 个任务给线程池,每个任务都由 worker 函数执行。

最后,我们使用 concurrent.futures.as_completed 方法等待所有任务完成,并按照完成的顺序输出每个任务的结果。

这样,我们就使用线程池实现了一个多线程程序,能够同时运行多个任务,提高程序的并发性能

请编写一个使用线程池的多线程代码

原文地址: https://www.cveoy.top/t/topic/frVn 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录