C# 的非同步設計

前言

從 PHP 轉到 C# 的世界一年多,對非同步設計不太理解,索性整理一下。

非同步觀念釐清

  • 非同步不等於多執行緒(線程),只是減少等待時間。
  • 非同步能增加 I/O bound 的產能(等待時間作其他事),但對 CPU bound 沒有幫助。
  • 在 CPU bound 的情況下可以使用 Task.Run 讓方法調用執行緒(線程)新的在背景執行。
  • 在 I/O bound 的情況下,則不該使用 Task.Run

(Reference.)


ʕ •ᴥ•ʔ:整理一下 C# 的非同步案例。
感謝 Tintin 分享關於 thread 的細節。

Share