java無鎖化編程一:目錄

假設咱們用netty作服務,當接受到網絡傳輸的碼流,咱們經過某種手段將這種傳輸數據解析成了熟悉的pojo,那這些pojo該如何進一步處理?java

好比遊戲中的搶購、場景業務等,對處理那種高併發的業務場景,如何保證數據的一致性?數據庫

 

1.悲觀鎖和樂觀鎖編程

悲觀鎖和樂觀鎖這種,你們當即會聯想到數據庫讀寫。可是咱們仍然能夠嘗試的在獲取對象鎖上理解。數組

沒錯,鎖技術很慢。網絡

 

2.讀寫分離,讀寫鎖併發

 

3.MVCC,我曾嘗試着用java來實現相似數據庫的多版本併發控制,後面具體詳說。高併發

 

4.actor模型的引入線程

java版本的actor,共享線程池,使用cas,實現同一時刻只有單線程訪問,同時更高的提高了線程池的利用率。指針

 

5.無鎖化編程思想:像閃電同樣的disruptornetty

這種ringbuffer環形數組解決了隊列的頭尾指針和大小變量等衝突,而惟一須要關心的,就是多個生產者寫入ringBuffer的場景,

這個要仔細說。

相關文章
相關標籤/搜索