多線程和異步的異同和使用場景


一、多線程和異步的異同

  1、多線程和異步的相同:都可以解決線程阻塞,響應慢的問題。

  2、多線程和異步的不同:

             異步線程可以減少共享變量,減少死鎖可能,異步操作無須額外的線程負擔。但采用回調方式復雜度較高,切不易調試。

             多線程程中的處理程序依然是順序執行,編程相對簡單而且易理解,但編程簡單本質上是進程中一段並發運行的代碼,需要操作系統投入CPU資源來運行和調度,

,線程的使用(濫用)會給系統帶來上下文切換的額外負擔。並且線程間的共享變量可能造成死鎖的出現。

 

二 使用場景

    1、異步適用於IO操作(文件,網絡數據修改,數據庫操作、Web Service、HttpRequest以及.Net Remoting等跨進程的調用)

    2、多線程適用於需要長時間CPU運算的場合(例如耗時較長的圖形處理和算法執行)

注意:可以使用線程來執行耗時較長的I/O操作。只適用於只有少數幾個並發操作的時候,如果需要處理大量的並發操作時就不合適。


免責聲明!

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



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