# -*- 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()