我希望能夠很好地理解C#中的多線程。我讀過一些文章,如Joseph Albahari's tutorials,這些文章解釋了這些概念,但正如你所知道的那樣,無論你讀了多少,如果你不練習,大部分都會變成垃圾。我需要一些具有指導性和實用性的與現實生活實踐相關的代碼示例,而不是一些打印某些行的示例。你有什麼建議嗎?練習建議,以幫助學習C#中的多線程#
回答
夥計傢伙我想我找到了一個很好的網站:planet-source-code.com。在「線程」關鍵字的.Net代碼搜索似乎返回一些很好的例子,像
- 多線程文件夾同步
- 多線程TCP服務器
- 背景文件下載
- 異步。插座
- P2P文件共享
- 簡單的POP3控制檯郵件檢查器和其他許多人!
yay!
如果你正在做任何winforms或wpf開發,當你試圖在UI線程中做「東西」時,你會很快遇到問題。
假設您需要讀取和解析大型(2GB)XML文件的內容。如果工作是在UI線程中執行的,則界面將掛起直到工作完成。相反,如果您要在工作線程中正確執行工作,那麼您可以通過消息傳遞讓UI保持響應,並讓用戶知道您當前正在做什麼(狀態欄(唉))或以文本形式顯示您的內容做「閱讀XML」等)
一個很好的簡單例子就是製作一個示例應用程序,讓它觸發一個BackgroundWorker來處理背景中的一些任意工作(它甚至可能是Thread.Sleep(10000 ),或者像那樣的小事。)
我想說這是關於這個問題的許多好的起點之一。
http://msdn.microsoft.com/en-us/library/cc221403%28VS.95%29.aspx
我主要在後臺通信領域,使用套接字和Web服務。但感謝您的建議,我會從它開始:) – aslisabanci 2010-09-30 19:39:38
這site有,我覺得這是不錯的實踐應用程序實現一些簡單的應用程序。但是,似乎鏈接到源代碼被破壞。儘管如此,我認爲這些應用程序代表了非常實用的例子。一些包括:
- 桌面搜索
- 下載管理器
- FTP客戶端
- 文件壓縮
- 多個RSS
是啊,這是我一直在尋找。太糟糕了消息來源:( – aslisabanci 2010-09-30 20:38:18
某種類型的隨機數字運算的是一個很好的測試爲了這。我通過編寫一個主要的數字查找器來教授自己的線程,然後將我的「搜索」數字分成塊並使用線程來處理每個數據塊。
這讓我設置塊大小,使用的線程數量,發射線程之間的等待時間等一些變量來測試這些如何影響性能。
- 1. 練習自學幫助
- 2. 學習python難題練習20幫助
- 3. C#練習練習(學習路徑)
- 4. 學習和練習C++
- 5. 學習python難題練習17幫助,書中的錯誤?
- 6. 學習jQuery的練習練習
- 7. 學習python硬的方法練習18幫助
- 8. 學習Python的難題幫助:練習13
- 9. 學習python硬的方法練習40幫助
- 10. 學習Python練習
- 11. 幫助學習asp.net
- 12. 需要幫助的C++循環練習
- 13. Python練習「文件幫助」
- 14. 學習C#練習,提問和謎題
- 15. 尋找一個很好的練習,以幫助我在多線程中更好
- 16. Python中的線程練習
- 17. 學習Perl的建議?
- 18. 關於學習更多Java的建議
- 19. Chrome擴展程序幫助學習
- 20. 簡單裝配mmx練習的幫助
- 21. 在學習Prolog中的幫助
- 22. 幫助一個簡單的C編程練習
- 23. 學習python硬盤練習17
- 24. 學習python這個難題練習15
- 25. 立即學習Prolog! DCG練習示例
- 26. 的Java練習(需要一些建議)
- 27. C書練習
- 28. 需要幫助學習PHP-的mysqli
- 29. 學習C++需要關於程序任務的幫助
- 30. 習作幫助:
我認爲你應該修復這個鏈接:刪除「.com」後的破折號。 – AlexSavAlexandrov 2012-12-14 21:44:08
好吧,這樣做。謝謝哥們。 – aslisabanci 2012-12-15 15:48:26