1、多線程和異步的異同算法
一、多線程和異步的相同:均可以解決線程阻塞,響應慢的問題。數據庫
二、多線程和異步的不一樣:編程
異步線程能夠減小共享變量,減小死鎖可能,異步操做無須額外的線程負擔。但採用回調方式複雜度較高,切不易調試。網絡
多線程程中的處理程序依然是順序執行,編程相對簡單並且易理解,但編程簡單本質上是進程中一段併發運行的代碼,須要操做系統投入CPU資源來運行和調度,多線程
,線程的使用(濫用)會給系統帶來上下文切換的額外負擔。而且線程間的共享變量可能形成死鎖的出現。併發
二 使用場景異步
一、異步適用於IO操做(文件,網絡數據修改,數據庫操做、Web Service、HttpRequest以及.Net Remoting等跨進程的調用)spa
二、多線程適用於須要長時間CPU運算的場合(例如耗時較長的圖形處理和算法執行)操作系統
注意:能夠使用線程來執行耗時較長的I/O操做。只適用於只有少數幾個併發操做的時候,若是須要處理大量的併發操做時就不合適。線程