【发布时间】:2011-05-18 23:07:18
【问题描述】:
我试图了解从 c++ 守护程序获取字符串的机制是什么,我已经编写了 Java 以供 UI 使用。我将张贴我所设想的图片,然后继续提问:
我在这里设想了两个问题:
1) 信号量需要对库可用。在 Windows 中,这可以通过命名信号量和访问它的句柄来完成。在 Linux 中,有人建议我在共享内存中使用信号量,并通过共享内存的密钥让进程知道它。这对我来说是模糊的,但这个概念是否适用于同步 Java 和守护进程?
2) 为了使上图中的??? 链接正常工作,我是否必须将队列放在共享内存中?队列可以而且应该驻留在 .so 中吗?
所以这些是我的担忧。我很乐意并欢迎任何和所有帮助、挑战和理智的请求,并将尽我所能提供所有额外的必要信息。提前致谢。
【问题讨论】:
-
使用套接字(也许是 UNIX 域)来完成这项任务可能要容易得多,而不必考虑 JNI。
-
或管道,如果您更喜欢它们。
-
我在一个嵌入式环境中,有一个控制卡管理多个 telnet 接口到扩展卡。添加了 Java 层,作为将数据从基于浏览器的 UI 获取到用 C++ 编写的底层硬件控制软件的一种手段。它可能并不优雅,但我是在设计后进入这个项目的。是否可行,即使可能很困难?
标签: c++ linux java-native-interface semaphore shared-memory