我有一個龐大的數據運行,這需要很多時間,所以認爲線程可能很快爲我完成這項工作。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頁面?你不想分頁嗎? –