Я хотел бы выполнить активную инициализацию нескольких синглетонов, но инициализация может занять порядка минут, поэтому я хотел бы, чтобы инициализация происходила в отдельном потоке.Есть ли способ сделать это?
http://tembrel.blogspot.com/2009/11/concurrently-initialized-singletons-in.html
Конечно, просто запустите вспомогательный поток и дайте ему это сделать.Самый простой способ - использовать SingletonHolder и делать все, что вызывает инициализацию во вспомогательном потоке.Другие потоки будут блокироваться, если они попытаются получить к нему доступ до завершения инициализации, поэтому все работает нормально.