单例模式允许每个应用程序线程包含一个实例。
如何确保每个 JVM 只运行一个 guava Service Manager 实例?因此,当它启动一个新的单独条目时,java 线程可以检查服务管理器是否正在运行。
单例模式允许每个应用程序线程包含一个实例。
如何确保每个 JVM 只运行一个 guava Service Manager 实例?因此,当它启动一个新的单独条目时,java 线程可以检查服务管理器是否正在运行。
为什么你认为简单地不创建多个实例是行不通的?将 a实现ServiceManagerProvider
为单例并仅serviceManagerProvider.get()
用于访问服务管理器。
考虑使用依赖注入而不是单例(反)模式:
@Singleton
public class ServiceManagerProvider implements Provider<ServiceManager> {
private final ServiceManager serviceManager = ...
@Overrride
public ServiceManager get() {
return serviceManager;
}
}
在这里,每个注入器都有一个实例,这正是您(应该)想要的。