【发布时间】:2019-04-06 16:25:49
【问题描述】:
我在设计我的项目的一部分时遇到了困难。 这个想法是 N 个节点(每个节点都有一个摄像头)将不断地向服务器发送帧以进行对象检测,然后服务器将向每个节点重新发送包含一些信息的响应。
目标是尽可能独立地处理每个节点,并能够同时接收下一帧和处理前一帧。
与在 Python 中一样,并行运行的线程不是选项,我正在考虑一些方法(假设我有一个能够并行处理 N * 2 个线程的 CPU:
1) 服务器将为每个节点生成两个进程(相互通信)(一个用于接收帧,一个用于对象检测)。 (这些进程将独立于主进程运行)
2) 服务器将是单线程和异步的。每个接收到的帧都会被提交到进程池进行检测。
3) 服务器将为每个节点生成一个线程(一个线程将处理从一个节点接收帧)。每个接收到的帧都会被提交到一个进程池进行对象检测。
4) 服务器会为每个节点生成一个线程,并在该线程中生成两个单独的线程,一个用于接收,一个用于对象检测
哪种方法似乎最有意义?你会建议一些不同的东西吗?
【问题讨论】:
标签: python oop asynchronous concurrency parallel-processing