Python 官方文档:入门教程 => 点击学习
这篇文章将为大家详细讲解有关python中线程池模块之多线程的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、线程池模块引入from concurrent.futures i
这篇文章将为大家详细讲解有关python中线程池模块之多线程的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
引入
from concurrent.futures import ThreadPoolExecutor
一个简单的线程池使用案例
from concurrent.futures import ThreadPoolExecutorimport timepool = 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 ThreadPoolExecutorimport timepool = 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())
阻塞等待
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常用的库:1.requesuts;2.scrapy;3.pillow;4.twisted;5.numpy;6.matplotlib;7.pygama;8.ipyhton等。
关于“Python中线程池模块之多线程的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
--结束END--
本文标题: Python中线程池模块之多线程的示例分析
本文链接: https://lsjlt.com/news/277360.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0