【发布时间】:2013-01-12 17:54:13
【问题描述】:
我有网络表单应用程序。在一种形式上,我有几个功能。这被称为同步并需要一些时间。所以我需要在不同的线程中调用它们。
这是我正在做的示例:
protected void Page_Load(object sender, EventArgs e)
{
Thread t1 = new Thread(new ThreadStart(Function1));
t1.Start();
Thread t2 = new Thread(new ThreadStart(Function2));
t2.Start();
}
private void Function1()
{
Thread.Sleep(5000);
lbl1.Text = "Function1 completed";
}
private void Function2()
{
Thread.Sleep(5000);
lbl2.Text = "Function2 completed";
}
如果我调试(设置断点)lbl1.Text = "Function1 completed"; 和 lbl2.Text = "Function2 completed"; 被调用,但最终 html 页面上的文本没有改变。
页面加载也不需要 5 秒。
附言我知道 ASP 网络的工作方式不同,但我不知道我做错了什么。
【问题讨论】:
-
我强烈建议您改用 tasks 和 async / await 关键字。
标签: c# asp.net multithreading c#-4.0