【发布时间】:2021-05-23 10:37:49
【问题描述】:
告诉我X509Certificate2 类是线程安全的吗?有条件的,我可以这样使用:
public class MyClass
{
// example
private static readonly X509Certificate2 staticCertInstance =
new X509Certificate2("cert.pfx");
// the method can be called from different threads
public void Execute()
{
// use staticCertInstance
}
}
避免每次都创建实例,从而减少GC的负载?
【问题讨论】:
-
你有一个只读的常量,所以一旦创建它就是线程安全的。
-
文档中没有将其成员标记为线程安全的,因此可能不是。如果你想减少 GC 负载,你可以尝试创建一个ObjectPool 吗?
标签: c# thread-safety