gpt4 book ai didi

java - 同一虚拟机中不同应用程序之间的通信

转载 作者:行者123 更新时间:2023-12-01 14:04:52 25 4
gpt4 key购买 nike

这可能是一个有点...非正统的问题。我有多个应用程序在同一个 JVM 中运行,每个应用程序都在自己的类加载器中。这些应用程序需要相互通信(尽管只有一点点),但我无法将自己的共享代码添加到这些应用程序共享的类加载器中,因此我需要使用标准 Java 运行时提供的设施来完成此操作。

我的想法是使用System属性。然而,很难做到线程安全,尽管我想我可以在一个实习的长随机字符串上使用synchronized

还有更多选择吗?

<小时/>

我想要的沟通如下。这可能会影响合适的选项。

  • 每个应用都按顺序将其名称放入共享队列中。
  • 每个应用程序同时开始轮询队列以查看自己的名称是否位于头部。如果是,它将执行一个长时间运行的初始化任务,然后从队列中提取其名称。

最佳答案

使用标准系统类加载器类型并应用同步的任何结构。字符串和整数的映射工作正常。

这意味着您还可以使用任何 java.util.concurrent 类,它们可能具有适合您的问题的队列。

关于java - 同一虚拟机中不同应用程序之间的通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18981974/

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