百萬級資料批量插入我們應該是什麼樣的設計思路呢?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 法則 正態分佈 按比例倍增 響應時間...