該不會真的有人以為使用了鎖就能高枕無憂了吧
以下案例是在乙個公共方法裡的設計,功能是從redis裡獲取資料,顯然該方法會在多執行緒的情況下使用到,這裡採用了乙個設計,我不是很理解。
rate =
(double) eodratelocalcache.
get(cachekey+
"#"+eodcontex.eod_begin_time.
get())
;這裡的get方法是在幹嘛?獲取當前執行緒?
不是,這裡的關鍵點居然在最前面的例項物件,get方法就是在獲取這個物件,即使其他執行緒在使用,也可以獲取,實際上是在」解鎖「。。。。好像不對
public
class
eodcontex
{public
static
final inheritablethreadlocal
eod_begin_time =
newinheritablethreadlocal
<
>()
;public
static
final inheritablethreadlocal
eod_statement_customer_daily_init =
newinheritablethreadlocal
<
>()
;
理解這個的關鍵點是要理解本地快取和多執行緒之間的關係。
1.建立本地快取
通過谷歌的工具類來實現本地快取的構建
private
static loadingcache
eodratelocalcache = cachebuilder.
newbuilder()
.expireafterwrite(5
,timeunit.seconds)
.build
(new
cacheloader
(){@override
public object load
(object key)
throws exception {
通過原生的threadlocal來實現
private
static threadlocal
threadlocal =
newthreadlocal
<
>()
;
java中我的不理解的小細節
1.foreach迭代陣列元素時,並不能改變元素的值,不要對foreach迴圈變數進行賦值 2.成員變數分為 例項變數 不以stactic修飾 類變數用static修飾 3.1在子類方法中可以通過super顯式呼叫父類被覆蓋的方法 3.2 可以通過super呼叫父類構造器初始化過程 super 父類...
病例 不理解C C 的函式指標
一直對函式指標的概念一知半解的,於是搜尋了一把,發現幾個帖子講解不錯,就帖子這裡了.病例 不理解c c 的函式指標 大怪獸 病人 醫生,我折騰了 許久,無法理解函式指標。中醫 能意 識到自己不理解,不錯。那 麼你 說說你目前的理解。函式指標是什 麼?病人 函式指 針是指向函式的指標。中醫 那麼 函式...
CSS不理解的知識點
使用條件 單獨使用他們的時候均沒有效果需要是使用了絕對定位absolute的時侯才能其作用。left 靠左邊距離多少 right 靠右邊距離多少 top 距離頂部距離為多少 bottom 距離下邊距離為多少 舉例說明如下 left 50px就是距離左邊的距離就是50px 如果為 50px 那麼就會像...