随着 .NET 9.0 的发布,我们拥有了
System.Threading.Lock
因此建议继续使用此方法,但如果您还针对 .NET 9.0 之前的框架怎么办?
我一开始尝试使用预处理器指令,但这一切都开始变得非常混乱。
使用预处理器指令排除 .NET 9.0+,您可以创建一个兼容的类,这样当您使用 .NET 9.0 之前的任何框架时,锁定对象不会造成任何性能损失,但在 .NET 上时9.0 或更高版本您将能够享受优化带来的好处。
我已将其打包到一个名为
Backport.System.Threading.Lock
源代码:Github
软件包:NuGet