首页 > 编程语言 > 详细

多线程下操作数字要用类System.Threading.Interlocked

时间:2017-04-10 12:39:48      阅读:218      评论:0      收藏:0      [点我收藏+]
public class ServiceStatistics
{
private int _sourseCount = 0;
/// <summary>
/// 处理源数据量
/// </summary>
public int SourseCount
{
get { return _sourseCount; }
}
private int _destinationCount = 0;
/// <summary>
/// 返回结果数据量
/// </summary>
public int DestinationCount
{
get { return _destinationCount; }
}

private long _elapsedMilliseconds = 0L;
/// <summary>
/// 执行耗时
/// </summary>
public long ElapsedMilliseconds
{
get { return _elapsedMilliseconds; }
}
/// <summary>
/// 增加源数据量
/// </summary>
/// <param name="count"></param>
public void IncrementSourse(int count = 1)
{
if (count < 1)
return;
System.Threading.Interlocked.Add(ref _sourseCount, count);
}
/// <summary>
/// 增加结果数据量
/// </summary>
/// <param name="count"></param>
public void IncrementDestination(int count = 1)
{
if (count < 1)
return;
System.Threading.Interlocked.Add(ref _destinationCount, count);
}
/// <summary>
/// 增加执行耗时
/// </summary>
/// <param name="milliseconds"></param>
public void Elapsed(long milliseconds)
{
if (milliseconds < 1L)
return;
System.Threading.Interlocked.Add(ref _elapsedMilliseconds, milliseconds);
}

 

多线程下操作数字要用类System.Threading.Interlocked

原文:http://www.cnblogs.com/gyt-xtt/p/6688324.html

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