多进程注意事项

#注意!多进程之间无法共享内存,如下面代码中的n,如果在每一个子进程中调用n,则会报错!
from multiprocessing import Process
import time
import random


def func(i):
    print(i)
    
    
if __name__=='__main__':
    l=[]
    n=100
    addr=['a','b','c','d']
    #循环开启多个子进程
    for i in addr:
        p=Process(target=func,args=(i,))
        p.start()
        l.append(p)
    #最好是用一个列表去join,防止出现一些问题
    [p.join() for p in l]
    time.sleep(1)
    print("选到了%s"%(random.choice(addr)))

 

posted @ 2019-10-22 12:27  LBC不认输  阅读(238)  评论(0编辑  收藏  举报