Java跨多个应用程序实例协调首选项访问

示例

所有的实例在Preferences单个Java虚拟机(JVM)的线程之间始终是线程安全的。由于Preferences可以在多个JVM之间共享,因此有一些特殊的方法可以处理虚拟机之间的同步更改。

如果您有应仅在单个实例中运行的应用程序,则不需要外部同步

如果您有一个应用程序在单个系统上的多个实例中运行,因此Preferences需要在系统上的JVM之间协调访问,则可以使用任何节点的sync()方法Preferences来确保对该Preferences节点的更改对其他JVM可见。系统:

// 警告:如果要使用您的应用程序,请不要使用它
// 只在机器上运行一次实例
// (大多数桌面应用程序可能就是这种情况)
try {
    preferences.sync();
} catch (BackingStoreException e) {
    // 在将首选项保存到后备存储时处理任何错误
    e.printStackTrace();
}