标签: java multithreading initialization guice eager-loading
我想对多个单例进行急切初始化,但初始化可能需要几分钟的时间,所以我希望初始化发生在一个单独的线程上。有没有办法做到这一点?
答案 0 :(得分:1)
http://tembrel.blogspot.com/2009/11/concurrently-initialized-singletons-in.html
答案 1 :(得分:0)
当然,只需启动辅助线程并让它完成。最简单的方法是使用SingletonHolder并执行任何导致辅助线程初始化的操作。如果其他线程在初始化完成之前尝试访问它们将会阻塞,所以一切正常。