Python如何进行多线程操作
这篇文章主要讲解了“Python如何进行多线程操作”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python如何进行多线程操作”吧!
1、线程池模块引入
fromconcurrent.futuresimportThreadPoolExecutor2、使用线程池
一个简单的线程池使用案例
fromconcurrent.futuresimportThreadPoolExecutorimporttimepool=ThreadPoolExecutor(10,'Python')deffun():time.sleep(1)print(1,end='')if__name__=='__main__':#列表推导式[pool.submit(fun)foriinrange(20)ifTrue]
fromconcurrent.futuresimportThreadPoolExecutorimporttimepool=ThreadPoolExecutor(10,'Python')deffun(arg1,arg2):time.sleep(1)print(arg1,end='')print(arg2,end='')if__name__=='__main__':#列表推导式[pool.submit(fun,i,i)foriinrange(20)ifTrue]#单个线程的执行task=pool.submit(fun,'Hello','world')#判断任务执行状态print(f'taskstatus{task.done()}')time.sleep(4)print(f'taskstatus{task.done()}')#获取结果的函数是阻塞的,所以他会等线程结束之后才会输出print(task.result())3、获取结果
阻塞等待
print(task.result())
批量获取结果
forfutureinas_completed(all_task):data=future.result()
阻塞主线程,等待执行结束再执行下一个业务
#等待线程全部执行完毕wait(pool.submit(fun,1,2),return_when=ALL_COMPLETED)print('')
感谢各位的阅读,以上就是“Python如何进行多线程操作”的内容了,经过本文的学习后,相信大家对Python如何进行多线程操作这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。