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的性能