我正在实现一个 http 服务器来控制基于覆盆子的机器人。想法是这样的——在工作开始时站在树莓上的服务器创建的进程将持续工作并执行机器人的主要功能(从网络摄像头获取视频流,通过 com 端口控制机器人元素等) . 关键是,这种方法理论上应该会提高性能,因为不需要浪费时间创建流程、启动解释器等。问题是我想不出如何访问这些进程生成的数据的解决方案。在一个普通的简单服务器中,对于每个请求,都会创建一个生成数据的新进程,并且已经在那里创建了进程。据我所知,在 C++ 中,没有办法在程序运行过程中创建一个带名称的缓冲区。因此,我们无法访问存储数据的缓冲区,
换句话说,无论是否有对它们生成的数据的请求,进程都应该始终运行。进程生成的数据应该被添加到某种缓冲区中,从那里已经可以响应用户的请求。这些进程不应该是静态的,我想根据配置添加它们,所以我无法制作带有名称的静态缓冲区。
问题是如何做到这一点,以便当我们收到对流程生成的数据的请求时,我们可以引用它并将其返回给客户端?
好吧,你自己已经画了整个架构
您需要另一个名为“缓冲区管理器”的项目。它的功能很简单
为多线程添加管理器和缓冲区同步,您就完成了