6

リストを動的に設定する必要があるクラスがあります。また、スレッドを使用して、このクラスを10回ほど別の時間と呼びます。

public static List<string> MyList {get;set;}

しかし、これは安全ではないと言われているので、私はスレッド化に不慣れです。MyList 私が持っている質問は、スレッドごとにインスタンスを作成するにはどうすればよいですか?

例は素晴らしいでしょう!

4

1 に答える 1

8

属性を使用しThreadStaticます。

[ThreadStatic] private static List<string> _myList;

public static List<string> MyList {
  get { return _myList; }
  set { _myList = value; }
}

また、通常は、包含クラスがコレクションを制御する方が適切です。これは、外部から見えるセッターと、コピーまたは読み取り専用コレクションのいずれかを返すゲッターがないことを意味します。

しかし、これはあなたが意図した効果をもたらさないかもしれません。各スレッドには、コレクションの独自のコピーがあります。たぶんあなたが必要としているのは、を見るか、あなたのデザインを再考することです。

于 2012-04-08T00:58:16.067 に答える