情報科学屋さんを目指す人のメモ(FC2ブログ版)

何かのやり方や、問題の解決方法をどんどんメモするブログ。そんな大学院生の活動「キャッシュ」に誰かがヒットしてくれることを祈って。

C#での、正しいマルチスレッドプログラムの書き方を求めて このエントリーを含むはてなブックマーク

注意:.NET Framework 4、Visual Studio 2010に対応してアップデートした記事はこちら→「C#での、正しいマルチスレッドプログラムの書き方を求めて(2011年11月版)

C#におけるマルチスレッドプログラムの作成方法は、たくさんのホームページで紹介されています。しかし、それらは正しく動いたとしても、それがC#や.NET Frameworkを作成した人々の期待したコードであるかどうかは残念ながら、コードを見るだけでは分かりません生意気なこと言ってすいません

また、BackgroundWorkerという、簡単に別スレッドを作成してメソッドを実行する方法も用意されてはいますが、それで満足していいのかという欲求もあります。より高度なスレッドの扱い方を会得したい。

そんなとき、やはり頼るべきはMicrosoft謹製 msdnライブラリでしょう。

しかし、実際にmsdnライブラリでマルチスレッドプログラミングついて調べていると、リンクが散らばっていて、どこを見ればいいのか分かりません。

そこで、msdn内のマルチスレッドに関するページをまとめてみました。msdnは重く、検索に時間がかかるので、このページをブックマークしておくと楽だと思います。

前提知識

ただし、マニュアルをいきなり読むだけですっきりとコードを書くことは難しいので、Effective C#や、More Effective C#を読んでおくことをおすすめします。More Effective C#のほうは、3章まるまるマルチスレッドを書くときに注意すべき事項です。

マルチスレッドプログラミングに関するページ一覧 @ msdn.microsoft.com

言語は日本語、.NET Framework のバージョンは3.5のページを掲載しています。英語で読みたい方は、アドレスのja-jpを削除もしくはen-usに変更、.NET Frameworkの他バージョンを基準としたページを読みたい方は、ページ内にある、別バージョンへのリンクをクリックしてください。

マルチスレッドプログラミング関連トピック

その他の分散しているトピックです

クラスライブラリ

情報量がすごい

こうしてmsdnの一覧を作成してみると、その情報量の多さに圧倒されます。また、「マルチスレッド」というキーワードで見ると、トピックがかなりいろいろなところに分散していて、まとめるのが大変でした。

分からない単語に関して

上の一覧中に、出てくる単語、「ポーリング」「ミューテックス」「ロック」「セマフォ」「デッドロック」「競合状態」などといった単語は、msdnを読むだけでもある程度分かりますが、本格的にやるのなら、一度OSの分野として学習しておいた方が、あとあとよいと思います。体系的に学ぶには、「オペレーティングシステムの仕組み 」が基礎から教えてくれる一方で全体を俯瞰することのできる入門書としておすすめです。

C# | コメント:0 | トラックバック:0 | 編集
このエントリーをはてなブックマークに追加 Clip to Evernote

この記事のコメント

コメントの投稿 エントリの新旧に関わらず、極力18時間中に返信します。














この記事のトラックバック

トラックバックURL: