When should I use a ThreadLocal variable?
How is it used?
Webapp server may keep a thread pool, and a ThreadLocal var should be removed before response to the client, thus current thread may be reused by next request.
ThreadLocal