就管他叫“使用多線程分段獲取大量數據方法”吧。假定我們的需求是,通過Web Service獲取10W條訂單,我的解決方案是 分成10個線程每個線程傳輸1W條訂單分段獲取,具體請看下面的流程圖及其說明
1,流程圖
2,流程說明:
線程1開始請求接口獲取1W條數據,當數據成功獲取後,接口是閒置的,這時我們開始線程 2獲取數據,同時線程1繼續執行獲取數據的後續工作,如果轉換數據,這裡我用的辦法是,使用預先定義的實體對象格式 反序列化XML (據說這種方式比遍歷XML或是載入到DataSet中循環 讀取都要高效的,具體我沒有測試過,哈哈)將數據插入到數據後停止線程1。使用這樣線程循環的辦法處理所有線程讀取數據。