子线程抛出引发类型为“System.OutOfMemoryException”的异常 我在timer1_Tick事件里面获取了一个库的所有表,然后根据这些表,每个表生成了一个线程,然后再根据每个线程,去插入一条数据的时候,又分了每插一条数据一个线程,现在抛出上面的异常,是什么原因?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 为何要这么多线程呢?前台一个线程,后台处理,尽量写到一个线程里.抛出此异常,一般是你的代码逻辑,导致死循环!----------三易通软件(服装进销存,服装进销存软件,服装进销存管理软件,服装进销存管理系统,服装店管理软件,服装店管理系统,服装销售管理软件,服装销售管理系统,服装零售管理软件,服装零售管理系统,服装店软件,服装店收银软件):http://www.3etsoft.cn timer1_Tick事件中的方法AddAllTableData(int number, ArrayList arraylist)AddAllTableData中的方法 foreach (var tbname in arraylist) { ThreadClassFun myThreadFun = new ThreadClassFun(number, tbname.ToString(), IsManyThread); Thread myThread = new Thread(new ThreadStart(myThreadFun.ThreadFunInsert)); myThread.Start(); Thread.Sleep(300); }myThreadFun.ThreadFunInsert类public void ThreadFunInsert() { int iResult = 0; int count = 0; for (int i = 0; i < this.Number; i++) { //判断是否表线程中加子线程 if (this.IsManyThread) { try { Thread myThread = new Thread(new ThreadStart(delegate() { iResult = CommonService.AddTableData(this.Tbname); if (iResult > 0) { count++; } Thread.Sleep(100); })); myThread.Start(); //Thread.CurrentThread.j } catch (Exception ex) { LogHelper.SaveException(ex); } } else { iResult = CommonService.AddTableData(this.Tbname); if (iResult > 0) { count++; } } } CommonService.WriteLog(count, this.Tbname, DateTime.Now, "添加数据成功"); }哪里有问题呢?? 是sqlserver吗,数据集大于2G,会溢出 sqlserver是的,估计里面有个死循环,Sleep一分钟 新手迷茫了,请大家给点建议,指点指点正在迷路的孩子 C# 网络同步服务的设计问题请教 如何读取出DATASET中的数据 windows Mobile 5 上 datagrid 主从表显示问题:从表显示了所有记录。 win7的mouse_event 求生成曲线图的代码 C# DatagridView 控件如何增加虚线边框 跪求accii编码和utf8编码到底是杂回事?现在主流的是用的哪个. 提取email地址 路径所包含的文件名中数字和字母的替换问题??? 用户自定义控件问题!急... 空间直线和空间面求交点
为何要这么多线程呢?前台一个线程,后台处理,尽量写到一个线程里.
抛出此异常,一般是你的代码逻辑,导致死循环!
----------
三易通软件(服装进销存,服装进销存软件,服装进销存管理软件,服装进销存管理系统,服装店管理软件,服装店管理系统,服装销售管理软件,服装销售管理系统,服装零售管理软件,服装零售管理系统,服装店软件,服装店收银软件):http://www.3etsoft.cn
AddAllTableData中的方法
foreach (var tbname in arraylist)
{
ThreadClassFun myThreadFun = new ThreadClassFun(number, tbname.ToString(), IsManyThread);
Thread myThread = new Thread(new ThreadStart(myThreadFun.ThreadFunInsert));
myThread.Start();
Thread.Sleep(300);
}myThreadFun.ThreadFunInsert类
public void ThreadFunInsert()
{
int iResult = 0;
int count = 0; for (int i = 0; i < this.Number; i++)
{
//判断是否表线程中加子线程
if (this.IsManyThread)
{
try
{
Thread myThread = new Thread(new ThreadStart(delegate()
{
iResult = CommonService.AddTableData(this.Tbname);
if (iResult > 0)
{
count++;
}
Thread.Sleep(100);
}));
myThread.Start();
//Thread.CurrentThread.j
}
catch (Exception ex)
{
LogHelper.SaveException(ex);
}
}
else
{
iResult = CommonService.AddTableData(this.Tbname);
if (iResult > 0)
{
count++;
}
}
} CommonService.WriteLog(count, this.Tbname, DateTime.Now, "添加数据成功"); }
哪里有问题呢??