Учитывая следующую конфигурацию:
@Configuration
class TLConfig {
@Bean
fun foo() = tl.getOrSet { Foo("something") }
private val tl = ThreadLocal<Foo>()
}
- Будет ли создан только один экземпляр
Foo
или будет создан экземпляр для каждого потока, которому нужен компонент? - Если создан только один экземпляр, что произойдет, когда разные потоки попытаются его использовать?
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я не ищу предложений, что делать вместо этого. Я просто хочу знать, как будет вести себя этот код. Я не утверждаю, что это хороший или плохой способ делать что-то, это просто то, что я нашел, и я понятия не имею, каково его поведение.