請教ThreadLocal
各位大哥,我是一個只知道埋頭設計自己程式碼疏於學習別人技術的笨傢伙,今天來到這裡忽然覺得開啟了另一個世界的大門,非常感謝。
有一個問題,我一直希望可以在class裡象jsp裡訪問session一樣可以訪問一些變數而不用在呼叫時傳入,這些變數可以是每個客戶訪問不同的。例如紀錄operator,以便在不同的地方log時不必再一層一層把operatorId傳進去。看了一下帖子裡提到ThreadLocal,我想這個東西可能是我需要的。我查了java API doc,看到一個例子,不是十分肯定。而且有一點不懂:
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();
}
}
中的:
new ThreadLocal() {
protected synchronized Object initialValue() {
return new Integer(nextSerialNum++);
}
};
是什麼意思?定義一個新類嗎,明明只有一個函式initialValue(),為什麼下面又呼叫get方法。看起來更象是繼承,initialValue()更象是覆蓋,是這樣嗎?
有ThreadLocal可以讓我參考嗎?
有一個問題,我一直希望可以在class裡象jsp裡訪問session一樣可以訪問一些變數而不用在呼叫時傳入,這些變數可以是每個客戶訪問不同的。例如紀錄operator,以便在不同的地方log時不必再一層一層把operatorId傳進去。看了一下帖子裡提到ThreadLocal,我想這個東西可能是我需要的。我查了java API doc,看到一個例子,不是十分肯定。而且有一點不懂:
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();
}
}
中的:
new ThreadLocal() {
protected synchronized Object initialValue() {
return new Integer(nextSerialNum++);
}
};
是什麼意思?定義一個新類嗎,明明只有一個函式initialValue(),為什麼下面又呼叫get方法。看起來更象是繼承,initialValue()更象是覆蓋,是這樣嗎?
有ThreadLocal可以讓我參考嗎?
相關文章
- 請教nullpointerexceptionNullException
- 請教高手
- ejb client 請教client
- 各位高手,請教
- 請教prototype模式!模式
- 請教:java安全Java
- 學習請教
- 請教phpword問題PHP
- Spring AOP請教Spring
- 請教SAXParseException問題Exception
- jboss安裝請教
- 請教open session in viewSessionView
- 請教:NullPointerException 問題NullException
- banq 你好,請教模式模式
- 你好,BANQ,請教模式模式
- 你好banq,請教模式模式
- 失血模型的請教模型
- Jbuilder設定請教UI
- 向高段位請教
- 請教Beego Router 問題Go
- 請教四色原型原型
- socket or webserver 請教各位同仁WebServer
- 請教 newInstance 的用法
- 請教各位spring高手Spring
- 請教jive的安裝
- 請教 JBuilder7 & oracleUIOracle
- 請教介面卡模式模式
- 關於security請教板橋
- 你好BANQ,請教模式使用模式
- banq 你好,請教Observer模式Server模式
- 請教jd framework,錯誤?Framework
- 向高手請教hibernate
- 請教一下高手
- javah命令問題請教Java
- 請教指點,工作迷茫
- 請教aop開發工具?
- Java面試題:請談談對ThreadLocal的理解?Java面試題thread
- Proxy Authorization Required 問題請教UI