多線程解決大量數據的讀寫,提升效率


       今天公司臨時要我給業務取數據做業務分析,數據不大不小,100萬,我剛開始寫了程序去跑這些數據,根據執行的結果預計需要10個小時以上,業務員需要當天分析出數據結果,這個就很讓人絕望了!

       整個取數的流程也不是很復雜,就是先獲取所有數據的id主鍵(我是服務於快遞公司,這里的主鍵是快件單號)100萬;再根據主鍵到數據的明細表中獲取數據的操作(快件在各個點的操作明細)此表中的數據不下於5千萬,每個主鍵獲取的數據都是一個list,

迭代數組獲取特定操作中的特定數據組合成業務員需要的數據,最后保存到一張臨時表中,供業務員分析。

       下面是我使用多線程完成取數的具體步驟:

            1.先是創建線程類,實現多線程繼承Runnable類,重寫run()方法;

 

    2.main()方法中實現多線程數據分發,設置線程數。

 

       程序改成多線程后,一個40分鍾就跑完了我要取得數據。

  

  依據java8的新特性重新寫多線程

       

 

     

 

     只注重編寫線程要處理的邏輯(run中的邏輯),並且不用從新定義類實現Runnable。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM