1 import multiprocessing 2 3 4 def download_from_web(q): 5 """下载数据""" 6 # 模拟下载数据 7 data = [11,22,33,44] 8 9 # 向队列写入数据 10 for temp in data: 11 q.put(temp) 12 13 print("数据下载完毕。。。。") 14 15 16 def analysis_data(q): 17 """数据处理""" 18 # 建立空列表 19 waitting_analysis_data = list() 20 # 从队列中获取数据 21 while True: 22 data = q.get() 23 waitting_analysis_data.append(data) 24 25 print(waitting_analysis_data) 26 27 # q.empty()队列是否为空,q.full()队列是否满了 28 if q.empty(): 29 break 30 31 32 def main(): 33 # 创建队列 34 q = multiprocessing.Queue() 35 # 创建进程 36 p1 = multiprocessing.Process(target=download_from_web,args=(q,)) 37 p2 = multiprocessing.Process(target=analysis_data,args=(q,)) 38 39 p1.start() 40 p2.start() 41 42 43 44 if __name__ == '__main__': 45 main()
数据下载完毕。。。。 [11] [11, 22] [11, 22, 33] [11, 22, 33, 44]