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

时间:2015-05-15 07:57:48

标签: python sockets python-2.7 python-multiprocessing

我正在使用一个小项目,该项目基本上是一个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

0 个答案:

没有答案