Я читал JavaDoc для ThreadLocal здесьПочему Java ThreadLocal переменные должны быть статическими
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/ThreadLocal.html
и говорит «ThreadLocal экземпляры, как правило, частные статические поля классов, которые хотят связать состояние с резьбой (например, идентификатор пользователя или идентификатор транзакции).
Но мой вопрос в том, почему они решили сделать его статическим (как правило) - это немного сбивает с толку состояние «на поток», но поля являются статическими?
Мне нравится это объяснение, потому что оно показывает, как использовать ThreadLocal. – kellyfj
Per-thread-per-instance может быть полезной семантикой, но в большинстве случаев для этого шаблона будет задействовано так много объектов, что было бы лучше использовать ' ThreadLocal', чтобы сохранить ссылку на хеш-набор, который сопоставляет объекты с экземплярами на потоках. – supercat
Хорошее объяснение! – ADJ