多进程编程multiprocessing示例
使用队列
# coding:utf-8
import time
from multiprocessing import Pool, Manager
def work(q):
i = q.get()
print("get: ", i)
time.sleep(5)
if __name__ == '__main__':
pool = Pool(3)
q = Manager().Queue()
for i in range(20):
q.put(i)
while not q.empty():
pool.apply_async(work, (q,))
pool.close()
pool.join()
使用map
import time
from multiprocessing import Pool, Manager
def work(i):
print("get: ", i)
time.sleep(5)
if __name__ == '__main__':
pool = Pool(3)
pool.map(work,range(5))