投稿者 葉月  () 投稿日時 2008/7/23 00:00:00
 .NETは、オブジェクト指向言語になります。 
 私もオブジェクト指向を勉強中ですが、とても奥が深い分野だと思っております。 
 カプセル化、ポリモフィズムを使った応用、デザインパターンなど覚えることが多くついてきているのか疑問です。 
 オブジェクト指向の手法を一通り覚えてからマルチスレッドに入れば理解も深まり、質問内容の解答が自然と理解していると思います。 
 マルチスレッドについては、デリゲートを使って処理を行っていると、そのうち問題に遭遇すると思います。 
 
>>>マルチスレッドの一例 
 プログレスバーを表示する機能をデリゲートで処理して、汎用的に使えるクラスを作りましたが…… 
 Formがスレッドセーフ(複数のスレッドからのアクセスが保障)な作りになっておらず、 
 プログレスバーを表示する機能を使う場合だけ例外が起こるようになりました。 
 VS2005以降だと例外が出るようになっているようですが、私の場合は初め例外が起らずに途方にくれました。フリーズしたように、処理が止まった感じになった気がします。 
 例外が出てから、参考ページを見つけて解決にいたりました。  
 参考ページを見てもらえるとマルチスレッドの概要が掴めて、MSDNなど他のスレッドセーフなページを見る際の事前準備になると思います。 
  
参考ページ: 
ttp://www.atmarkit.co.jp/fdotnet/vblab/appqa_06/appqa_06_01.html