1. 程式人生 > >執行緒池,處理高併發問題,處理大資料量的方法

執行緒池,處理高併發問題,處理大資料量的方法

執行緒池

個人認為,執行緒池的作用就是限制系統中執行執行緒的數量,避免伺服器超負荷;減少建立和銷燬執行緒的次數,從而減少了一些開銷。

設計一個執行緒池單例,在內部建立指定數目的執行緒,並用一個執行緒空閒隊列表示可分配執行緒。

注:還可以使用兩個靜態成員變數的方法限定最大執行緒數量。

處理高併發問題

1、CDN層:動靜分離

2、雲+端

3、服務層:

        1)分散式

        2)叢集

        3)非同步解耦

                a、Async

                b、MQ

        4)程式碼效率

4、快取層:

        1)分散式

        2)多級快取

        3)提高命中率

5、DB層:

        1)sql語句優化

        2)讀寫分離

        3)索引

        4)分庫分表        

處理大資料量的方法

1)分而治之/hash對映+hash統計+排序

2)Bloomfilter/Bit map:用來實現資料共享、進行資料判重、集合求交集

3)Trie樹/資料庫/倒排索引:節點孩子表示方式

4)外排序

5)分散式處理:將資料交給不同的處理器去處理,資料劃分,結果歸約