gpt4 book ai didi

python - 主程序+配置模块的代码设计

转载 作者:行者123 更新时间:2023-11-30 17:11:48 30 4
gpt4 key购买 nike

我有一个主程序X,它从我的网络摄像头获取数据。
我想在执行时实时配置 X
我知道这样做的常见方法之一是使用IPC,如命名管道/Unix套接字/互联网套接字等。但我想避免每个调用者必须单独打开套接字/命名管道,并每次进行通信.
简而言之,我想要一个名为 Y 的帮助程序,我可以通过以下方式使用它:

Y set-fps=15
Y show-frame=true
Y get-fps (should return 15)

我想在/usr/bin/* 中运行这个帮助程序Y(或者更确切地说将它放在 $PATH 目录之一中),以便它可以从命令行执行。

获得此功能的选项有哪些。我的限制如下:
(i) 程序 X 可以是 C++/Python。
(ii) 多个客户端可以同时调用Y

我猜这样的系统在 Linux 上很常见,其中有诸如 nmcli 之类的程序与诸如 network-manager 之类的服务交互?

最佳答案

很抱歉将该帖子作为答案,我仍然无法发表评论。

我认为这样做的方法之一如下:

当您的程序从网络摄像头获取帧时,肯定存在循环或冗余自动机。

这样,你就可以在一个 block 中分配内核内存中的一些寄存器,每个寄存器都是一个参数。

然后,在每个循环中,您的 X 程序可以从该内核空间读取不同的参数。另一方面,每个想要修改参数的客户端也会访问这个内核空间,并修改所需的值。

然后,您必须使用信号量来保护内核空间,以进行任何写入或读取操作。(互斥锁是可以的,但是您可能需要一些写入器/读取器实现)

当然,与对每个参数进行保护相比,这在性能上并不是最佳的,但这样您就只需处理一个信号量,并且一个简单的互斥体就可以完成这项工作。它当然也不如与管道或套接字的通信美观,但使用它们,您仍然必须保护参数的读写......

关于python - 主程序+配置模块的代码设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31984888/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com