python的多线程
程序员文章站
2024-03-23 18:11:40
...
多进程 Multiprocessing 和多线程 threading 类似, 他们都是在 python 中用来并行运算的,用来弥补 threading 的一些劣势
进程池 Pool() 和 map()
该Process对象与Thread对象的用法相同,拥有is_alive()、join([timeout])、run()、start()、terminate(),close()等方法
from multiprocessing import Pool as ProcessPool
pool = ProcessPool(8)
res = pool.map(process, userlist)
pool.close()
pool.join()
def process(each_user):
item= each_user.item
itemListTmp = []
itemListTmp .append(item)
return (each_user,set(itemListTmp)) #返回结果
2
import multiprocessing as mp
def job(x):
return x*x
def multicore():
pool = mp.Pool(processes=3) #参数可以无
res = pool.map(job, range(10))
print(res)
if __name__ == '__main__':
multicore()
#结果[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
其他具体参考:https://morvanzhou.github.io/tutorials/python-basic/multiprocessing/2-add/