多執行緒高階 實戰篇

2021-10-24 16:50:34 字數 1632 閱讀 4816

百萬級資料批量插入我們應該是什麼樣的設計思路呢?

1.首先我們需要考慮到的是乙個高併發的問題,那麼處理高併發同步鎖或者同步**塊是必不可少的。你可以使用synchronized或者reentranlock來進行**塊的鎖定。

2.其次我們要使用到執行緒池,每個執行緒處理多少資料量。

3.使用countdownlatch計數當所有執行緒執行完,在執行主線程。

public

class

threadpooltool

//定義啟動執行緒的數量

public

threadpooltool

(int singlecount,list

list)

}public

void

execute()

throws interruptedexception

else

}//建立執行緒類處理資料

mythread

mythread =

newmythread

(newlist,begin,end)};

executorservice.

execute

(mythread)

;//計數器減一

begin.

countdown()

; end.

await()

; executorservice.

shutdown()

;}}class

userexecutor

threadpooltool

tool =

newthreadpooltool

(1000

, users)

; tool.

setcallback

(new

callback()

});try

catch

(interruptedexception e)}}

abstract

class

mythread

implements

runnable

@override

public

void

run(

)catch

(interruptedexception e)

finally

}protected

abstract

void

method

(list

list);}

inte***ce

callback

class

user

public

void

setname

(string name)

public

intgetage()

public

void

setage

(int age)

public

intgetid()

public

void

setid

(int id)

}

spring aop 實戰篇 一

需求 通過spring aop 提供的面向切面程式設計的思想,利用自定義註解的方式,實現對介面的功能的增強 一 自定義乙個註解類 target 指明了修飾的這個註解的使用範圍,即被描述的註解可以用在 documented retention retentionpolicy.runtime targe...

(二)zookeeper實戰篇

a.安裝jdk b.安裝zookeeper 通過filezilla將zookeeper傳到linux下的 opt software下並chaos u x zookeeper 3.4.10.tar.gz 然後解壓到 opt module 下 c.修改配置 將 opt module zookeeper ...

效能測試 實戰篇

bug的表現 拆分物件 然後從功能實現上來看,怎麼實現這個完整功能的。通常這些業務功能操作都對應著乙個或多個請求 可能能是不同型別的請求,比如 http,mysql 等 我們要做的是找出這些操作對應的請求,請求之間的順序是怎麼樣的。指標分析 常用分析思路 2 8 法則 正態分佈 按比例倍增 響應時間...