程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#執行異步操作的幾種方式比較和總結,

C#執行異步操作的幾種方式比較和總結,

編輯:C#入門知識

C#執行異步操作的幾種方式比較和總結,


C#執行異步操作的幾種方式比較和總結

0x00 引言

之前寫程序的時候在遇到一些比較花時間的操作例如HTTP請求時,總是會new一個Thread處理。對XxxxxAsync()之類的方法也沒去了解過,倒也沒遇到什麼大問題。最近因為需求要求用DevExpress寫界面,跑起來後發現比Native控件效率差好多。這才想到之前看到的“金科玉律”:不要在UI線程上執行界面無關的操作,因此集中看了下C#的異步操作,分享一下自己的比較和總結。

0x01 測試方法

IDE:VS2015 Community

.NET版本:4.5

使用函數隨機休眠100到500毫秒來模擬耗時任務,並返回任務花費的時間,在UI線程上調用這個方法會造成阻塞,導致UI假死,因此需要通過異步方式執行這個任務,並在信息輸出區域顯示花費的時間。

 

主界面中通過各種不同按鈕測試不同類型的異步操作

 

0x02 使用Thread進行異步操作

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved