首页 > 代码库 > C# 线程同步计数存在的问题
C# 线程同步计数存在的问题
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Diagnostics;using System.Threading;namespace Thread_synchronization_problem{ class Program { static void Main(string[] args) { int x = 0; const int iterationNumber = 5000000;//迭代次数 Stopwatch sw = Stopwatch.StartNew();//初始化sw for (int i = 0; i < iterationNumber; i++) { x++; } Console.WriteLine("不使用锁的情况下花费时间:{0}ms",sw.ElapsedMilliseconds); sw.Start();//重置时间 for (int i = 0; i < iterationNumber; i++) { Interlocked.Increment(ref x);//带锁的递增 } Console.WriteLine("使用锁的情况下花费时间:{0}ms", sw.ElapsedMilliseconds); Console.ReadLine(); } }}
可以看出使用锁的情况花费的时间是不使用锁的几倍;
C# 线程同步计数存在的问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。