多執行緒與非同步 |
發表日期 : 3/26/2017 1:52:50 PM |
Task -------> 新執行緒 ------> 讀取網路資源 多執行緒 => 使用另一條執行緒(透過CLR建立一個新執行緒)來替代原本會被鎖定的主執行緒,也就是浪費一點的執行緒資源(CPU與記憶體)換來可回應的介面。
非同步 -------> 執行緒池 ------> 讀取網路資源 非同步 => 非同步會將工作交給執行緒池,這時當讀取網頁資源這個工作時不會再占用任何CPU資源,直到非同步完成(讀取資源完畢),非同步才會通過回呼的方式通知執行緒池,讓CLR回應非同步完成。
# 執行緒池中是使用DMA (Direct Memory Access,直接記憶體存取)模式,直接記憶體存取是一種不經過CPU而直接進行記憶體資料讀取的機制。
使用情境區分
|
分類 : 分享 作者 : 莊英澔 |