請教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可以讓我參考嗎?
相關文章
- 正則請教
- 向高段位請教
- 請教phpword問題PHP
- 請教Beego Router 問題Go
- 請教一個問題,
- 如何向大牛請教問題?
- allure 報告整合方案請教
- Proxy Authorization Required 問題請教UI
- 請教 TensorFlow 安裝問題
- Java面試題:請談談對ThreadLocal的理解?Java面試題thread
- 請教 Element 的錯誤處理
- phper 的進階思考——請教篇PHP
- 前端相容測試思路請教前端
- SpringBoot之ThreadLocal儲存請求使用者資訊Spring Bootthread
- 請教一個struct tag的問題Struct
- 請教一個演算法問題演算法
- 新手請教,遊戲入門程式 c遊戲
- 請教一個mysql查詢語句!!MySql
- Threadlocal詳解(ThreadLocal,InheritTableThreadLocal,TransmittableThreadLocal)threadMIT
- ThreadLocalthread
- 請教一個go切片引用的問題Go
- 大批次推送郵件,請教如何提升推送速率
- 請教,topthink是基於onethink構建的嗎?
- 有關theano配置問題想請教各位大佬
- DFMEA的12個錯誤教訓,請牢記!
- 請教一個 python 包安裝的問題Python
- 請教一下 多欄位值如何排序?排序
- 這是道面試題,想不懂,請教大家面試題
- ThreadLocal理解thread
- ThreadLocal解析thread
- ThreadLocal 剖析thread
- ThreadLocal分析thread
- 解析ThreadLocalthread
- ThreadLocal 解析thread
- 請教一個切片遞迴賦值的問題遞迴賦值
- 請教個問題執行 httprunner 遇到的問題HTTP
- 後臺許可權設計問題,請教思路
- 上傳報錯 Status Code: 413 Payload Too Large 請教!
- api 介面欄位規範的問題,請教大家API