最近遇到多執行緒的問題,原來使用非同步請求多個介面(n*3次請求)
方案一 使用多執行緒一次返回資料,最開始是使用5個執行緒,乙個執行緒順序請求3個介面,超時終止返回
缺點 測試發現必須3個介面全部成功才能取到資料,遇到部分介面失敗資料拿不到
方案二 使用6個執行緒,2個執行緒請求同乙個介面,每個執行緒處理n/2個資料,超時終止返回
缺點 測試發現,可能1個介面失敗導致無法處理後面的資料
以上方案都已失敗告終,測試發現多執行緒取資料效果比非同步請求差,非同步請求顯示是成功乙個顯示乙個,多執行緒方案可能由於單個介面失敗導致資料不完整
方案三:由於瓶頸在資料介面部分,使用6個執行緒,乙個執行緒處理乙個請求,成功的請求繼續處理其他未處理的資料,請求失敗重試3次,超時終止返回
方案四:優先使用多執行緒請求一次介面,失敗後從快取中取資料,本方案不能保證資料的實時性
C 學習記錄 多執行緒相關
之前學過一點c語言多執行緒方面的內容 pthread.h 但是僅僅是會用,對多執行緒的實現原理什麼的基本上算是不了解。接下來,我的網路程式設計學習要進一步對 進行優化,其中肯定少不了對多執行緒的運用,所以在進行下一步之前,先系統的學習一下多執行緒。本篇學習記錄使用的語言為c 呼叫的執行緒庫為c 11...
多執行緒相關
多執行緒示例 public class threadtest start new thread new runnable start new thread new runnable start class print public void print2 public void print3 上面的...
多執行緒相關
1.synchronized同步方法 方法內的變數為執行緒安全的 執行緒中的例項變數非執行緒安全,易出現髒讀,方法上加synchronized關鍵字 多個執行緒訪問同乙個物件的同步方法時,執行緒安全 synchronized取得的鎖都是物件鎖,而不是把一段 或者方法當作鎖 多個執行緒訪問多個物件的同...