# -*- coding: utf-8 -*- #activate py37_tfgpu1131_keras215_opencv341 import time import json import multiprocessing as mp #=======================发送进程获取数据处理================ def Client2PaySever_thread(q_send): cout=0 while True: time.sleep(1) #如果有消息发送 数据格式 数目-车位1,车位2,车位3,。。。。。 if q_send.qsize()>0: car_statelist=q_send.get() print("========================") for i in car_statelist: print(i) else: print("数据尚未更新") #加个判断 超过一定时间一直没有数据,可能设备出问题了,需要检修,主动上报服务器数据清0且状态异常 continue #========================模拟主进程产生数据=============== def Test(): q_send=mp.Queue(maxsize=2)#队列用来检测进程结果传输给发送进程 client2PayserverThread = mp.Process(target=Client2PaySever_thread,args=(q_send,)) client2PayserverThread.daemon = True client2PayserverThread.start() print('---发送进程开启---') #模拟设备检测到的数据 修改传送发射端 cout=0 while True: car_stateList=[] for i in range(0,10): car_state=[i,"A0001","192.168.1."+str(i),0,3] car_stateList.append(car_state) if q_send.qsize()==2: q_send.get() q_send.put(car_stateList) cout=cout+1 time.sleep(3) print(cout,'---client main---') if __name__ == '__main__': Test()