python中的线程池
多线程
每个语言都有多线程,python也不例外.多线程在实际应用中多以线程池为主,今天就来盘点下如何使用python线程池
实现
python实现线程池很简单,依托concurrent.futures库的ThreadPoolExecutor类就可轻松创建一个线程池
from concurrent.futures import ThreadPoolExecutor
pool = ThreadPoolExecutor(100)
使用方式很简单,如下就是创建了一个线程任务
pool.submit(方法名,参数一,参数二)
也可以使用pool.map()方法,一次创建完所有的线程
pool.map(方法名, [x for x in range(100)])
创建完成后即可自动运行,无需过多操作
痛点
虽然python的线程池创建很简单,使用也很简单,但因为python的GIL机制的存在,python多线程并不能发挥多核cpu的性能