专栏名称: dotNET跨平台
专注于.NET Core的技术传播。在这里你可以谈微软.NET,Mono的跨平台开发技术。在这里可以让你的.NET项目有新的思路,不局限于微软的技术栈,横跨Windows,Linux 主流平台
今天看啥  ›  专栏  ›  dotNET跨平台

C# 13 lock object

dotNET跨平台  · 公众号  ·  · 2024-09-24 07:39
    

文章预览

C# 13 lock object Intro .NET 9 引入了一个新的 Lock 类型 System.Threading.Lock   .NET 9 Preview 1 中的 Lock 类型 我们可以使用这一类型代替 lock 的对象来改进锁的性能 Sample 我们来做一个简单的 benchmark [ SimpleJob ] [ MemoryDiagnoser ] public   class   LockObjectBenchmark {      private   readonly   object  _lock0 =  new ();      private   readonly  Lock _lock1 =  new ();     [ Benchmark(Baseline = true) ]      public   int   NewLockObject ( )     {          var  i =  0 ;         Parallel.For( 1 ,  1000 , _ =>         {              lock  (_lock1)             {                 Interlocked.Increment( ref  i);             }         });          return  i;     }     [ Benchmark ]      public   int   TraditionalLock ( )     {          var  i =  0 ;         Parallel.For( 1 , ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览