我有一个需要动态设置列表的类。我还使用 Threading 将此类称为 10 次左右。
public static List<string> MyList {get;set;}
但是,我是线程新手,因为有人告诉我这是不安全的。我的问题是如何为MyList
每个线程创建一个实例?
一个例子会很棒!
我有一个需要动态设置列表的类。我还使用 Threading 将此类称为 10 次左右。
public static List<string> MyList {get;set;}
但是,我是线程新手,因为有人告诉我这是不安全的。我的问题是如何为MyList
每个线程创建一个实例?
一个例子会很棒!
使用ThreadStatic
属性。
[ThreadStatic] private static List<string> _myList;
public static List<string> MyList {
get { return _myList; }
set { _myList = value; }
}
此外,通常包含类更好地控制集合;这意味着没有外部可见的 setter 和返回副本或只读集合的 getter。
但是,这可能达不到您想要的效果。每个线程都有自己的集合副本。也许您需要看一下锁或重新考虑您的设计。