有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java JavaFX负载密集型应用程序设计

我正在用Java 8编写一个应用程序,带有HMI和逻辑部分。该逻辑消耗了大量cpu资源,目前它位于自己的jvm中。HMI使用javafx,并在单独的jvm中运行。这两个JVM通过socket相互通信。到目前为止,一切顺利。由于使用单独的JVM会使事情变得非常复杂,所以最好将它们融合在一起。虽然我熟悉fx应用程序线程和工作线程,但我真的不知道将这两个应用程序放在一个jvm中是否是个好主意。首先,逻辑部分需要尽可能高的优先级。如果HMI冻结一秒钟,我们可以接受。但是gui元素的垃圾收集可能会导致逻辑部分中断。我们不能容忍这种情况。我们还观察到,在当前的实现中,javafx动画会导致逻辑jvm中断(可能这些只是TaskSwitch,或者与调度器有关)

简而言之:

  • HMI在一个jvm中
  • 其他jvm中的逻辑

想法:

  • 将HMI和逻辑与工作线程/服务/任务融合在一个jvm中

问题:

  • JavaFx动画中断逻辑jvm

问题(假设HMI和逻辑在一个jvm中):

  • HMI垃圾收集-停止世界-逻辑部分被中断
  • 后台线程(woker/服务/任务)的优先级必须高于fx线程

有人对如何最好地解决这样一个问题表示过担忧或暗示吗


共 (0) 个答案