如何为每个线程制作 List {get;set;},.
本文关键字:string get set List 线程 | 更新日期: 2023-09-27 18:30:27
我有一个需要动态设置列表的类。 我还使用线程将这个类称为 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。
但是,这可能没有您想要的效果。每个线程都有自己的集合副本。也许你需要的是看看锁或重新考虑你的设计。