这篇文章主要讲解了“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如何进行多线程操作这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!