【发布时间】:2009-05-17 01:29:25
【问题描述】:
我仍然对 ThreadLocal 的概念感到困惑。我已阅读 JavaDoc 以及此处发布的其他相关问题,但使用的行话对我没有多大帮助。
我有点理解 ThreadLocal 的概念,即每个线程都有自己的变量副本。那么...这与说...每次都构造新变量有何不同?
以 DateFormatter 为例:
public void convertDate(String date)
{
// Contruct new date formatter for every invocation of the method.
DateFormatter df = new SimpleDateFormatter(...);
....
}
public void convertDate(String date)
{
// Getting date formatter from threadlocal.
DateFormatter df = threadLocal.get();
....
}
如果第二个所做的只是返回变量的新副本,那么第一个与第二个有何不同?
谢谢。
【问题讨论】:
标签: java thread-local