📄 threadlocal.java
字号:
package mypack;
import java.util.*;
public class ThreadLocal<T>{ //<T>为范型标记,是JDK1.5中的新特征
private Map<Runnable,T> values=Collections.synchronizedMap(new HashMap<Runnable,T>());
public T get(){
Thread curThread=Thread.currentThread();
T o=values.get(curThread);
if(o==null && !values.containsKey(curThread)){
o=initialValue();
values.put(curThread,o);
}
return o;
}
public void set(T newValue){
values.put(Thread.currentThread(),newValue);
}
protected T initialValue(){
return null;
}
}
/****************************************************
* 作者:孙卫琴 *
* 来源:<<Java面向对象编程>> *
* 技术支持网址:www.javathinker.org *
***************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -