2012-05-18 43 views
2

C#的WinForms更好的性能:確實異步比線程

的主要目標是要讀/寫一個巨大的文件,就像一個1 GB的文件最快的方法。我知道一些關於StreamReader和C#中的線程,但我也看到關於C#異步文件I/O的東西,但我還沒有學到它。所以我的問題是,採用Async的方法自然會比普通的StreamReader和多線程方法提供更好的性能嗎?

+1

1 GiB是巨大的? o.ø – Joey

+1

宏偉是相對的。 :) – Umair

回答

1

那麼異步也會創建一個後臺線程,但好處是你不必管理它。

+0

好吧,所以異步沒有性能和做後臺線程,但仍然是更容易使用,因爲我們不必擔心管理它。 – Bohn

+0

不太確定性能優勢(或缺乏),但是它會隱藏異步執行代碼的實際執行情況,釋放您維護線程相關的內容。但絕對測試這兩個程序,看看是否有任何明顯的差異(我懷疑不會有太多!) – Umair

3

使用異步變體可能是一個稍輕的方法。系統爲您處理異步讀取/寫入操作,您不必在自己的代碼中創建和管理線程。

如果有疑問,但通常的建議適用:措施!編寫兩個測試例程並測試它們的執行情況。

+0

首先我想知道Async是否有幫助。因爲我不知道如何使用異步,所以在花時間學習它之前,我想知道它是否值得的時間,,, – Bohn