Я думаю, что первоначальный вопрос говорил, который был предпочтительным. Если у вас есть данные, которые остаются статичными или по существу неизменными, то кеширование http или шаблон синглтона имеет большой смысл. Если синглтон загружается при запуске приложения, то проблема «Threading» вообще отсутствует. Как только синглтон будет установлен, вы получите тот же экземпляр, который вы запрашивали. Проблема с тем, что я вижу в реальных реализациях, заключается в том, что люди используют оба, не продумывая их полностью. Зачем вам истекать неизменные данные конфигурации? Был один клиент, который кешировал данные и все еще создавал объекты ADO DB и т. Д., Когда последний раз проверял, был ли он в кеше. По сути, оба эти решения будут работать на вас, но чтобы получить какой-либо положительный эффект, обязательно используйте кеш / синглтон. В любом случае, если ваши данные недоступны, оба должны быть обновлены в этот момент.