我正在开发一个多线程应用程序,因此,我一直试图不使用可能会在我在不同线程中使用的类型实例中引发冲突的私有字段。相反,我一直在收集作为方法参数工作所需的信息。这导致了几十个方法都声明了相同的参数:
private void MySubmethod(MyConfiguration configuration)
现在我正在考虑重新设计类型并为每个工作线程创建一个实例,但后来我偶然发现了 ThreadStatic 属性。
只声明一个私有线程静态字段,在每个线程正在调用的主方法中对其进行初始化并在所有子方法中重用该字段,从而使参数过时,这是一个好主意吗?或者它有什么缺点,所以我宁愿专注于为每个线程创建一个新实例?
[ThreadStatic]
private static MyConfiguration _configuration;