JavaFX加载密集型应用程序设计

时间:2016-11-04 13:36:13

标签: java multithreading performance javafx

我正在使用HMI和逻辑部件在Java 8中编写应用程序。逻辑消耗了大量的CPU功率,现在它位于自己的jvm中。 HMI使用javafx并且也在单独的jvm中运行。两个jvms通过套接字相互通信。到现在为止还挺好。因为它使用单独的jvms使事情变得非常复杂,所以融合它们会非常好。虽然我熟悉fx应用程序线程和工作线程,但我真的不知道将这两个应用程序放在一个jvm中是否是个好主意。首先,逻辑部分需要尽可能高的优先级。如果HMI冻结一秒钟 - 我们可以忍受。但gui元素的垃圾收集可能会导致逻辑部分被中断。我们不能忍受这一点。我们还观察到当前的实现,javafx动画导致逻辑jvm被中断(可能这些只是任务开关或者它与调度程序有关)。

简而言之:

  • HMI in one jvm
  • 其他jvm中的逻辑

点子:

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

的问题:

  • JavaFx动画中断逻辑jvm

关注(假设一个jvm中的HMI和逻辑):

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

是否有人担心或暗示如何最好地解决此类问题?

0 个答案:

没有答案