6

我有一个需要动态设置列表的类。我还使用 Threading 将此类称为 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; }
}

此外,通常包含类更好地控制集合;这意味着没有外部可见的 setter 和返回副本或只读集合的​​ getter。

但是,这可能达不到您想要的效果。每个线程都有自己的集合副本。也许您需要看一下或重新考虑您的设计。

于 2012-04-08T00:58:16.067 回答