首页 > Windows开发 > 详细

C# SpinLock用法。

时间:2021-09-01 12:48:40      阅读:18      评论:0      收藏:0      [点我收藏+]
class Program
    {
        static void Main(string[] args)
        {
            var count = 0;
            var taskList = new Task[10];
            Stopwatch sp = new Stopwatch();
            sp.Start();

            // 不要意外复制。每个实例都是独立的。
            SpinLock spinLock = new SpinLock();
            for (int i = 0; i < taskList.Length; i++)
            {
                taskList[i] = Task.Run(() =>
                {
                    bool lock = false;
                    for (int j = 0; j < 10_000_000; j++)
                    {
                        spinLock.Enter(ref _lock);
                        count++;
                        spinLock.Exit();
                        lock = false;
                    }
                });
            }

            sp.Stop();
            Task.WaitAll(taskList);
            Console.WriteLine($"完成! 耗时:{sp.ElapsedTicks}");
            Console.WriteLine($"结果:{count}");
        }
    }

  

C# SpinLock用法。

原文:https://www.cnblogs.com/chinasoft/p/15206187.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!