我不理解的多執行緒技巧

2021-10-05 10:16:35 字數 1235 閱讀 4664

該不會真的有人以為使用了鎖就能高枕無憂了吧

以下案例是在乙個公共方法裡的設計,功能是從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 那麼就會像...