python的多進程之間無法用全局變量,需要只用隊列queen進行通訊。
1. 創(chuàng)建。q=multiprocessing.Queue(num),num最大存放多少數(shù)據(jù)
2.進程使用隊列,需要在創(chuàng)建進程時做為參數(shù)傳進去。p=multiprocessing.Process(target=fun_name,args=(q,))
3.隊列使用。隊列是先進先出的,q.put(任何數(shù)據(jù)類型),放進數(shù)據(jù),當隊列滿時會進程會堵塞等待。q.get()取出數(shù)據(jù),當隊列中無數(shù)據(jù)是,進程會堵塞等待,q.get_nowait()非堵塞式獲取。q.full()是否已滿,p.empty()是否空了。q.qsize()返回隊列大小