我有一个庞大的数据运行,这需要很多时间,所以认为线程可能很快为我完成这项工作。Asp.net - 多线程C#
我做的:从ASP.NET前端和处理调用SQL存储过程发生存在,它需要近30个小时。
我需要的是:我已经将数据分成不同的批次,并为每个批次创建了相应的SP。现在我需要所有的SP在同一时间点击一下按钮。
请帮忙!
我用下面的代码,但它似乎并行运行。
protected void Button3_Click(object sender, EventArgs e)
{
Thread t1 = new Thread(Method1);
Thread t2 = new Thread(Method2);
t1.Start();
t2.Start();
t1.Join();
t2.Join();
}
void Method1()
{
for (int i = 0; i < 10000; i++)
{
Response.Write("hello1"+i);
Response.Write("<br>");
}
}
void Method2()
{
for (int i = 0; i < 10000; i++)
{
Response.Write("hello2" + i);
}
}
ASP.Net管道在单线程中运行,一旦完成最终渲染就死掉。基本上,这意味着页面在服务器上保持活动状态,但是为每个请求实例化页面,用于生成生成的html,然后发布。继续之前,请阅读文档以了解此模型。有解决方案(signalR + out-of-iis应用程序),但你应该知道asp.net如何在一般情况下工作。 –
当你调用't1.Join'时,你告诉当前线程要等到t1完成,这就是为什么代码没有并行运行的原因。 – stuartd
将20,000个事情写入ASP.NET页面?你不想分页吗? –