2009-09-22 44 views
3

作爲一個非常精通編寫多線程應用程序的路線圖,你會提出什麼建議 - 超越「修補」?成爲一個線程猴子

我是C#開發人員 - 將分支到其他語言幫助這個努力?

.NET 4.0的並行添加是否隱藏了您應該知道的內容以便更容易?

回答

6
  • 閱讀Joe Duffy的"Concurrent Programming on Windows"。喬是一位了不起的專家。
  • 調查不同平臺上併發的方法;看看Erlang,Scala等
  • 同樣閱讀Java併發書籍,其中將有一些細微差別的細節,但通常解決相同的核心問題,並有一些有用的模式。經常推薦使用"Java Concurrency in Practice"
  • 只看.NET的各種選項,包括Coordination and Concurrency Runtime和F#異步計算
  • 肯定學習並行擴展 - 這將有很大的幫助,從我所看到的,很多很細心的設計工作都進入它。 (它一定程度上改變了4.0b2的,所以你可以希望推遲這個現在。)
2

即使世界一個非常好的PDF有關.NET中here線程MSDN文檔Thread類的還有線程原語(Mutex,WaitHandle,ReaderWriterLockSlim等)也是很好的閱讀。

關鍵的東西理解是:

  1. 當使用一個線程
  2. 使用線程
  3. 如何管理線程之間共享狀態。

我可以繼續在這裏解釋這些,但我覺得與上面相關的線程PDF做的比我在這方面做得好得多,關鍵是線程是一個強大的工具和理解何時和除了簡單閱讀MSDN,如何使用它們會使你更加精通它們的使用,儘管有效使用線程的策略也覆蓋在那裏。

+0

該鏈接缺少「w」。使用這個:http://www.albahari.com/threading/ – Yoav 2009-09-22 13:09:22

+0

修復了這個鏈接,感謝您捕捉Yoav – Crippledsmurf 2009-09-22 13:12:46

相關問題