下面的例子是jdk文档中的。
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/ThreadLocal.html
[code="java"]
public class SerialNum {
// The next serial number to be assigned
private static int nextSerialNum = 0;
private static ThreadLocal serialNum = new ThreadLocal() {
protected synchronized Object initialValue() {
return new Integer(nextSerialNum++);
}
};
public static int get() {
return ((Integer) (serialNum.get())).intValue();
}
}
[/code]
请问已经是ThreadLocal了,initialValue 这个方法 为何还需要 synchronized ?