# python自带的线程池
from multiprocessing.pool import ThreadPool # 注意ThreadPool不在threading模块下
from multiprocessing import Pool # 导入进程池
def func(*args, **kwargs):
print(args, kwargs)
pool = ThreadPool(2)
# pool=Pool(2) ##进程池
pool.apply_async(func, args=(1, 2), kwds={}) # 注意这里是kwds,不是kwargs
pool.close() # 在join之前,必须要close一下,不允许再提交任务了,关闭提交任务的通道
pool.join()
# 特别注意,进程池和线程池是在Linux上的东西,上面的代码要想在win上运行,可用如下方法(只是一小部分兼容):
if __name__ == '__main__':
pool = ThreadPool(2)
pool.apply_async(func, args=(1, 2), kwds={})
pool.close()
pool.join()