У меня возникла проблема, когда я создаю ThreadLocal и инициализирую его новым ThreadLocal. Проблема в том, что я действительно концептуально хочу, чтобы постоянный список продолжал жизнь потока, но я не знаю, есть ли способ инициализировать что-то в потоке в Java.
например. я хочу что-то вроде:
ThreadLocal static {
myThreadLocalVariable.set(new ArrayList<Whatever>());
}
Чтобы он инициализировал его для каждого потока. Я знаю, что могу это сделать:
private static Whatever getMyVariable() {
Whatever w = myThreadLocalVariable.get();
if(w == null) {
w = new ArrayList<Whatever>();
myThreadLocalVariable.set(w);
}
return w;
}
но мне бы действительно не нужно было проверять это каждый раз, когда он использовался. Я могу здесь что-нибудь улучшить?