multiprocessing Pool

import multiprocessing as mp
import threading as td
import time


def job(x):
	return x * x


def multicore():
	pool = mp.Pool()
	res = pool.map(job, range(10))
	print("pool result:", res)
	res = pool.apply_async(job, (2,))
	# 用get獲得結果
	print("apply_async:", res.get())
	# 迭代器,i=0時apply一次,i=1時apply一次等等
	multi_res = [pool.apply_async(job, (i,)) for i in range(10)]
	# 從迭代器中取出
	print("apply_async iteration:", [res.get() for res in multi_res])


if __name__ == '__main__':
	multicore()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章