实时Java互操作性

时间:2009-02-04 10:29:11

标签: java real-time rtsj real-time-java

我想知道JRE6与来自rtsj的JVM之间的互操作性。似乎我只需要使用它们的实现(因为代码将使用它们的JVM进行解释),所以我不能使用Java 6提供的许多功能。 它可以支持GUI吗? (例如,修改工业过程的参数)。

我可能错了,希望得到你的一些反馈。

此外,似乎是Java的更实时的实现。你使用哪一个,你最喜欢哪一个?

3 个答案:

答案 0 :(得分:3)

为了提供实时行为,JVM需要进行非常具体的设计。这包括在操作系统级别进行集成,以访问主机操作系统的实时调度功能。

例如,Sun实时JVM与J2SE5兼容。 http://java.sun.com/javase/technologies/realtime/faq.jsp#4

通常,任何提供小众功能(如安全性或实时行为)的系统(操作系统,JVM等)的专用实例往往是通用版本背后的版本。

对于实时使用GUI,您应该使用JMX,RMI或Web服务(无论哪个是最轻的)来调查使用实时流程的2层客户端 - 服务器控制。直接在实时代码中使用GUI似乎可能会为应用程序引入许多潜在问题,因为它试图执行实时约束。

答案 1 :(得分:3)

有关RTSJ商业级实施的更多示例,请参阅my answer to another question。最新版本(2.1)符合JDK1.5,因此您应该使用Swing / AWT。

虽然编写GUI以在与实时进程相同的JVM中执行是可行的,但是这不是一个好的架构决策。您更倾向于隔离JVM中的实时行为,并提供可在单独的内存空间中实现GUI的可分离接口。

原则上,您应该能够编写RTSJ代码,使其在具有非实时线程的同一JVM中运行(我已经做了很多这样的事情)但是很难正确地进行同步。

答案 2 :(得分:0)

正如this一书所描述的那样,Sun Java的JRE和rtsj实现之间可以存在互操作性。