0

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

我沿着使用System属性的思路思考。但是,很难使线程安全,尽管我想我可以synchronized在实习长随机字符串上使用。

还有更多选择吗?


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

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

1 回答 1

1

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

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

于 2013-09-24T12:47:54.520 回答