如何在单独的线程中急切初始化singleton?

时间:2011-10-16 14:04:41

标签: java multithreading initialization guice eager-loading

我想对多个单例进行急切初始化,但初始化可能需要几分钟的时间,所以我希望初始化发生在一个单独的线程上。有没有办法做到这一点?

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

当然,只需启动辅助线程并让它完成。最简单的方法是使用SingletonHolder并执行任何导致辅助线程初始化的操作。如果其他线程在初始化完成之前尝试访问它们将会阻塞,所以一切正常。