gpt4 book ai didi

c++ - Python 和 C++ 应用程序的简单但快速的 IPC 方法?

转载 作者:IT王子 更新时间:2023-10-29 00:04:29 26 4
gpt4 key购买 nike

我有一个使用 Python 和 C++ 代码的 GNU Radio 应用程序。我希望能够向事件的 C++ 代码发出信号。如果它们在同一范围内,我通常会使用一个简单的 bool 值,但代码是分开的,以至于需要某种形式的共享内存。所讨论的代码对性能至关重要,因此需要一种有效的方法。

我最初考虑的是 Python 和 C++ 都可以访问的共享内存段。因此我可以在 python 代码中设置一个标志并从 C++ 中检查它。因为我只需要一个简单的标志来暂停 C++ 代码,信号量就足够了吗?

为了清楚起见,我需要从 Python 设置一个标志,C++ 代码将简单地检查这个标志,如果设置了它,则进入一个繁忙的循环。

那么尝试在 Python/C++ 之间实现共享内存段是一种合理的方法吗?信号量怎么样?在 Linux 上,哪个更容易实现?

谢谢!

最佳答案

假设这是一台机器上的两个独立应用程序,并且您需要不错的实时性能,您不想使用套接字。我会在共享内存中使用一个标志,并且可能使用一个信号量来确保两个程序不能同时访问该标志。该库使用 Python 提供对信号量和共享内存的访问,并支持 Python 版本 2.4-3.1(非 3.0):http://semanchuk.com/philip/posix_ipc

编辑:将建议更改为使用信号量保护共享内存中的标志

关于c++ - Python 和 C++ 应用程序的简单但快速的 IPC 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5756813/

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