multiprocessing.dummy模块为我们提供了线程池,api和多进程的一样。
举个例子
代码语言:javascript复制import multiprocessing.dummy
import time
def process_func(process_id):
print('process id %d start' % process_id)
time.sleep(3)
print('process id %d end' % process_id)
def main():
#虽然参数叫processes,但是它实际上创建的是线程
pool = multiprocessing.dummy.Pool(processes=3)
for i in range(10):
#向线程池中添加要执行的任务
pool.apply_async(process_func, args=(i, ))
pool.close()
pool.join()
if __name__ == '__main__':
main()
map的使用方法和多进程中的是一样的,可以看我的上一篇文章
python进程池的使用