Python多处理队列生成奇怪的数据行为

2024-10-01 11:40:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在处理一个小项目,它本质上是一个RPi2,将数据分发给四个RPi1。这是通过套接字完成的,每个连接到RPi2的客户端都有自己的进程。还有一个进程正在捕获图像,另一个进程正在等待新的客户端(在RPi2上)。 捕获进程向“客户端进程”发送四个(最多)向量,它们通过套接字发送到(ecery)RPi1:s

我的问题是:当我运行多个客户机时,似乎出现了某种通信故障,IPC或套接字中有以太。因为应该发送到RPi1_A的数据最终会在RPi1_B上结束

它是否与非父子关系的进程之间的队列有关

代码中的一些片段:

# Create a list of queues
Main_Queue = [Queue(IPC_QUEUE_SIZE)]*MAX_NUMBER_OF_CONNECTIONS

#Creation of Camera process:
Camera_process = Process(target=Camera_capture, args=(Main_Queue,Client_Update_Queue, ))


#Wait for client snippet:
conn, addr = s.accept()
p.append((Process(target=clientthread, args=(conn , Main_Queue[nr_of_clients] ,Client_Update_Queue, sock_lock, )),addr[0],addr[1]))
p[len(p)-1][0].start()
nr_of_clients = nr_of_clients + 1

Tags: of数据客户端queue进程mainprocessnr