2013-05-01から1ヶ月間の記事一覧

マルチスレッド処理の基礎(6) - フィールドの取り扱い Part 2

C#

前回の記事の続きです。 静的フィールドは宣言時または静的コンストラクタで初期化する シングルトンのインスタンスのように一度だけ初期化する必要のある静的フィールドは、宣言時または静的コンストラクタで初期化します。サンプルコードの「誤ったコード…

マルチスレッド処理の基礎(5) - フィールドの取り扱い Part 1

C#

これから数回に分けて、フィールドを更新・参照する処理をスレッドセーフにする方法を説明します。 単一のフィールドを固定値で更新する場合はvolatile修飾子をつける 処理終了要求フラグのように、単一のフィールドをあるスレッドが固定値で更新、他のスレ…

マルチスレッド処理の基礎(4) - クラス設計に関する留意事項 Part 2

C#

またまた間が空いてしまいましたが、前回の記事の続きです。 スレッドとインスタンスの所有関係を明確化する - スレッドセーフでないクラスの場合 スレッドセーフでないクラスのインスタンスを保護する方法は、基本的には以下の2つの方法しかありません。 …