Interlock.Add + Cast比单锁更快吗?

时间:2016-03-09 13:13:40

标签: c# multithreading locking interlocked

我正在寻找更好的方法Interlocked.Add(ref double, double)

第一种方式,Interlocked.Add(ref long, long)和一些投射

在并行循环中:

Interlocked.Add(ref ltotalUpSeconds,  (long) (av.totalUpSeconds * 1000));

然后在循环之外

totalUpSeconds =  ltotalUpSeconds/1000D;

第二种方式,锁定

lock (parallelocker)
{
    totalUpSeconds += av.TotaUpSeconds;
}

我习惯听到lockInterlocked慢。但是,松散的性能值得锁定的可读性吗?

注意:我不介意失去精确度

0 个答案:

没有答案