悬赏园豆:5
[已解决问题]
解决于 2008-04-25 18:32
<P>大家好,我在ASP.NET中用多线程时碰到了点问题:</P>
<P>我在页面中新建了一个线程(前台线程),但主线程仍然没有等我新建的线程执行结束后再结束,以下测试代码:</P>
<P> protected void Page_Load(object sender, EventArgs e)<BR> {<BR> Thread t = new Thread(new ThreadStart(CallThread));<BR> t.IsBackground = false;<BR> t.Start();<BR> <BR> Response.Write("Main Thread");<BR> }</P>
<P> protected void CallThread()<BR> {<BR> for (int i = 0; i < 100; i++)<BR> {<BR> Response.Write("Sub Thread:" + i+"<br>");<BR> Thread.Sleep(1);<BR> }<BR> }</P>
<P>页面的最终输出是:<BR>Sub Thread:0<BR>Main Thread</P>
<P>而如果我把它放到终端应用程序下(只把输出语句改掉),那我就会得到以下结果:<BR>Sub Thread:0<BR>Main Thread<BR>Sub Thread:1<BR>...<BR>Sub Thread:99</P>
<P>终端应用程序下的这个结果是我所期望的,但为什么在ASP.NET中却不一样呢?<BR>请大家指点迷津!</P>
水言木
|
小虾三级
|
园豆:
586
提问于:2008-04-24 22:23