multiprocessing.dummy模块为我们提供了线程池,api和多进程的一样。

举个例子

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的使用方法和多进程中的是一样的,可以看我的上一篇文章

你也可能喜欢

发表评论