例一:

Parallel.For(1, arraySize, i =>
{
ary[i] = ary[i] + ary[i - 1];
});
如下:
object _lock = new object();
Parallel.For(1, arraySize, i =>
{
lock(_lock)
ary[i] = ary[i] + ary[i - 1];
});

解决方案:lock 确保当一个线程位于代码的临界区时,另一个线程不进入临界区,如果其他线程试图进入锁定的代码,则它将一直等待,直到该对象被释放
例二:
private static readonly AsyncLocal<LocalLifeTineScopelrapper> AsynclLocallLifeScope = new AsyncLocal<LocalLifeTimeScopelrapper>(); private static ILifetimeScope GetCurrentUow()
{
var uow = AsyncLocalLifeScope.Value ? .LifetimeScope;
if(uow == null)
{
return null;
}
return uow;
}

解决如下
private static ILifetimeScope GetCurrentUow()
{
lock(AsynclLocallLifeScope)
{
var uow = AsyncLocalLifeScope.Value ? .LifetimeScope;
if(uow == null)
{
return null;
}
return uow;
}
}

最新文章

  1. shell 中的与、或表达式
  2. SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
  3. 太阳系Demo(openGL)
  4. SAP ALV OO 选择行打印
  5. C# 生成BMP图片
  6. user database的initial size和dbcc shrinkfile
  7. Model元数据解析
  8. 浅谈Java内存及GC
  9. leetcode_Substring with Concatenation of All Words
  10. uva 657
  11. Swift - 移除页面视图上的所有元素
  12. 快速破解ps方法
  13. Android WebView基本使用
  14. 点击jsp页面上的超链接后怎么找到对应的servlet
  15. hiredis的安装
  16. android xml 解析汉字只出来一个字的问题
  17. 【转载】C#, VB.NET如何将Excel转换为PDF
  18. javascript、js操作json对象和字符串互相转换方法
  19. CSS3 文本超出后显示省略号...
  20. python&#39;s is&amp;==区别

热门文章

  1. 数值分析之解线性方程组的直接方法 5.X
  2. Java面向对象之抽象类abstract
  3. matlab如何关闭figure
  4. 用xmind转换成excel表格
  5. 课程表及事件提醒app-界面原型设计
  6. Hadoop环境的搭建
  7. 关于.NET CORE 的 swagger 分组简单使用
  8. Python学习的第一次总结
  9. 【数据库数据恢复】Oracle数据库数据恢复案例
  10. 打印timescale信息