1、线程池模块
引入
from concurrent.futures import ThreadPoolExecutor
2、使用线程池
一个简单的线程池使用案例
from concurrent.futures import ThreadPoolExecutor import time pool = ThreadPoolExecutor(10, 'Python') def fun(): time.sleep(1) print(1, end='') if __name__ == '__main__': # 列表推导式 [pool.submit(fun) for i in range(20) if True]
from concurrent.futures import ThreadPoolExecutor import time pool = ThreadPoolExecutor(10, 'Python') def fun(arg1,arg2): time.sleep(1) print(arg1, end=' ') print(arg2, end=' ') if __name__ == '__main__': # 列表推导式 [pool.submit(fun,i,i) for i in range(20) if True] # 单个线程的执行 task = pool.submit(fun,'Hello','world') # 判断任务执行状态 print(f'task status {task.done()}') time.sleep(4) print(f'task status {task.done()}') # 获取结果的函数是阻塞的,所以他会等线程结束之后才会输出 print(task.result())
3、获取结果
阻塞等待
print(task.result())
批量获取结果
for future in as_completed(all_task): data = future.result()
阻塞主线程,等待执行结束再执行下一个业务
# 等待线程全部执行完毕 wait(pool.submit(fun,1,2),return_when=ALL_COMPLETED) print('')
以上就是Python 线程池模块之多线程操作代码的详细内容,更多关于Python 线程池模块的资料请关注华域联盟其它相关文章!
您可能感兴趣的文章:
- Python爬虫之线程池的使用
- python线程池的四种好处总结
- python爬虫线程池案例详解(梨视频短视频爬取)
- python线程池 ThreadPoolExecutor 的用法示例
- 实例代码讲解Python 线程池
- Python 如何创建一个线程池
- python线程池如何使用
- 解决python ThreadPoolExecutor 线程池中的异常捕获问题
- Python定时器线程池原理详解
- Python 使用threading+Queue实现线程池示例
- Python线程池的正确使用方法
本文由 华域联盟 原创撰写:华域联盟 » Python 线程池模块之多线程操作代码
转载请保留出处和原文链接:https://www.cnhackhy.com/24533.htm