Parallel.ForEach 多线程 声明失败 "未将对象引用设置到对象的实例"
x
using System;
using System.Collections.Generic; namespace Parallel.ForEach
{
class Program
{
//代码结构应该都是这样的吧...但是实际环境中方法Test中的逻辑要复杂很多的...
static void Main(string[] args)
{
//测试数据...
List<int> intList = new List<int>();
for (int i = ; i < ; i++)
{
intList.Add(i);
}
//问题在于执行这个方法的时候报错...
System.Threading.Tasks.Parallel.ForEach(intList, (iModel) => { Test(iModel); }); } /// <summary>
/// 这里仅仅是测试方法,实际中的这个方法逻辑比较复杂...
/// </summary>
/// <param name="i"></param>
public static void Test(int i)
{
int tempI = 0;//当MaxDegreeOfParallelism设置为3或者以上的时候,就会报错,调试-添加并行监视-会看到"tempI"有几次是没有声明的...{当前上下文中不存在名称“tempI”}
tempI = i + 1;
Console.WriteLine(tempI);
}
}
}
刚开始搜还没搜到咋回事...多线程确实鄙人用的比较少。。。哈哈。。。
结果终于在csdn上看到了结果方案,一个常年活跃在csdn论坛上老前辈给出了正确答案...传送门
private static object LockFlag = new object(); 然后读写变量的时候都要使用它互斥,例如
lock(LockFlag)
{
var x = ListInfo[i];
ListInfo.Remove(x);
}
以后记住了,多线程,要记得Lock...Lock...
x
Parallel.ForEach 多线程 声明失败 "未将对象引用设置到对象的实例"的更多相关文章
- SQL Sever无法打开链接对话框,未将对象引用设置到对象的实例。(AppIDPackage)
前几天刚做完系统,先装的是SQL Sever2008,装完后还试了一下,OK~没问题,然后就继续装VS2012等一些软件.搞到很晚没有继续试试就睡了,第二天运行SSMS出问题了..(如图 1.0 所示 ...
- WPF中未将对象引用设置到对象的实例
前几天,我开始了WPF的基础学习,一上来我就遇到了一个令我头痛的问题,按照书上的例子我写了一段属于自己的代码,一个简单的色调器.满心期待的编译运行,就出现了未将对象引用设置到对象的实例.我在网上查阅了 ...
- 解决:getWeatherbyCityName(city),服务器无法处理请求。 ---> 未将对象引用设置到对象的实例。
原文:getWeatherbyCityName(city),服务器无法处理请求. ---> 未将对象引用设置到对象的实例. 解决方法:不要直接使用 “服务引用” , 添加为 “Web 引用” 最 ...
- AutoMapper.Mapper.CreateMap报“System.NullReferenceException: 未将对象引用设置到对象的实例。”异常复现
>>Agenda: >>Ⅰ.国庆假期问题出现 >>Ⅱ.双休日异常再次出现 >>Ⅲ.排障 >>Ⅳ.异常复盘 >>Ⅴ.修复后监测 & ...
- 出现"未将对象引用设置到对象的实例“问题的总结
今天做机房收费系统时,将DataGridView中的数据导入到Excel中,当运行到这一句代码”xlApp.Cells(rows + 2, j + 1) = DataGridView1(j, rows ...
- c#:未将对象引用设置到对象的实例--可能出现的问题总结(转)
1.c#:未将对象引用设置到对象的实例--可能出现的问题总结(转):http://www.cnblogs.com/KeenLeung/archive/2013/06/23/3150578.html
- IIS报错 未将对象引用设置到对象的实例。
在vs中运行正常的项目 ,发布到IIS总是提示 未将对象引用设置到对象的实例. 运行静态页面 html正常,只是打开.aspx页面的时候报错,在确保了数据库,配置,权限均正常的情况下. 错误原因:先安 ...
- 解决使用DevExpress开发错误:未将对象引用设置到对象的实例
在使用DevExpress是总是会出现一些状况.这次同事在他的机器上调试完成的代码发过来,却出现"未将对象引用设置到对象的实例"的错误,提示是Resources.resx的问题.另 ...
- asp.net 中Session的运用,及抛出错误“未将对象引用设置到对象的实例”
1. 页面载入后,必须要等到page_Load方法执行建立 page对象后才可以使用Session 2. 在.aspx和.cs文件中使用Session的区别 (1).aspx: Session[&qu ...
随机推荐
- [转]你可能不知道的五个强大HTML5 API
一.全屏 // 找到适合浏览器的全屏方法 function launchFullScreen(element) { if(element.requestFullScreen) { element.re ...
- java.lang.IllegalStateException: Cannot run without an instance id.
启动springboot,报错:quartz集群报错: Sep 09, 2016 5:33:47 AM org.apache.catalina.core.ApplicationContext log ...
- Java的隐秘之JavaCC
官网链接:JavaCC JavaCC JavaCC是Java的解析器生成器兼扫描器生成器.为JavaCC描述好语法的规则,JavaCC就能够生成可以解析该语法的扫描器和解析器(的代码)了. JavaC ...
- Spring Boot系列——死信队列
在说死信队列之前,我们先介绍下为什么需要用死信队列. 如果想直接了解死信对接,直接跳入下文的"死信队列"部分即可. ack机制和requeue-rejected属性 我们还是基于上 ...
- CentOS 7 yum nginx MySQL PHP7 简易环境搭建(精)
用centos自带的yum源来安装nginx,mysql和php,超级方便,省去编译的麻烦,省去自己配置的麻烦,还能节省非常多的时间. 我们先把yum源换成国内的阿里云镜像源(当然不换也可以),先备份 ...
- 前端项目添加自定义icont图标步骤
文章转自https://blog.csdn.net/weixin_36185028/article/details/53416185 这里就用到了两个文件,一个是icontfont.css,另外一个是 ...
- Linux应该知道的技巧
https://coolshell.cn/articles/8883.html https://www.quora.com/Linux/What-are-some-time-saving-tips-t ...
- Linux基础知识之用户和用户组以及 Linux 权限管理
已经开始接触Linux用户管理,用户组管理,以及权限管理这几个逼格满满的关键字.这几个关键字对于前端程序猿的我来说真的是很高大上有木有,以前尝试学 Linux 的时候看到这些名词总是下意识的跳过不敢看 ...
- Redux 入门到高级教程
Redux 是 JavaScript 状态容器,提供可预测化的状态管理. (如果你需要一个 WordPress 框架,请查看 Redux Framework.) Redux 除了和 React 一起用 ...
- Java多线程系列——计数器 CountDownLatch
简介: CountDownLatch 是一个非常实用的多线程控制工具类,通常用来控制线程的等待,它可以让某个线程等待直到倒计时结束 CountDownLatch 提供了两个主要的方法,await(). ...