python中ThreadPoolExecutor如何使用

说明

1、ThreadPoolExecutor构造实例时,输入max_workers参数,设定线程池中最多可同时运行的线程数。

2、使用submit函数将需要执行的任务(函数名和参数)提交到线程池中,然后返回任务的句柄.

类似于文件和绘图,注意,submit不是堵塞的,而是立即返回。

实例

#!usr/bin/envpython
#-*-coding:utf-8_*-
fromconcurrent.futuresimportThreadPoolExecutor
importtime

#参数times用来模拟下载的时间
defdown_video(times):
time.sleep(times)
print("downvideo{}sfinished".format(times))
returntimes

executor=ThreadPoolExecutor(max_workers=2)
#通过submit函数提交执行的函数到线程池中,submit函数立即返回,不阻塞
task1=executor.submit(down_video,(3))
task2=executor.submit(down_video,(2))
#done方法用于判定某个任务是否完成
print("任务1是否已经完成:",task1.done())
#cancel方法用于取消某个任务,该任务没有放入线程池中才能取消成功
print("取消任务2:",task2.cancel())
time.sleep(4)
print("任务1是否已经完成:",task1.done())
#result方法可以获取task的执行结果
print(task1.result())

以上就是python中ThreadPoolExecutor的使用,希望对大家有所帮助。更多Python学习指路:Python基础教程

发表回复