python 编程过程中,可能会遇到一些较为专一的处理方法,该方法没有过多的耦合,输入简单,但是但进程单线程的情况下执行速度慢,称为程序运行的痛点。
线程池的使用,可以很好的为我们解决这一痛点。
下面代码简单演示一下:
import time,datetime
from concurrent.futures import ThreadPoolExecutor
def test(arg_1,arg_2):
print (datetime.datetime.now(),arg_1,arg_2)
time.sleep(1)
return arg_1
if __name__=='__main__':
#max指定同时运行的最大线程数
th_pool = ThreadPoolExecutor(max_workers=3,thread_name_prefix='test')
list_all =[]
for i in range(10):
#往线程池中提交需要执行的方法 sumbit(方法名,方法的参数)
fature = th_pool.submit(test,i,i+1000)
th_pool.shutdown()
运行结果如下
C:\Users\lenovo\AppData\Local\Programs\Python\Python37\python.exe D:/PYTHON_CODE/My_django_Demo/blog/my_threadpool.py
2020-12-08 17:06:54.007107 0 1000
2020-12-08 17:06:54.008106 1 1001
2020-12-08 17:06:54.008106 2 1002
2020-12-08 17:06:55.008955 3 1003
2020-12-08 17:06:55.008955 4 1004
2020-12-08 17:06:55.008955 5 1005
2020-12-08 17:06:56.009675 6 1006
2020-12-08 17:06:56.009675 7 1007
2020-12-08 17:06:56.009675 8 1008
2020-12-08 17:06:57.010604 9 1009
可以看出max_workers设置 每次同时运行最多三个线程