首页 新闻 会员 周边

asp.net多线程问题

0
悬赏园豆:5 [待解决问题] 解决于 2011-05-12 13:33
代码如此:
 
protected void Button1_Click(object sender, EventArgs e)
{
ThreadStart mythread
= new ThreadStart(Create);
Thread thread
= new Thread(mythread);
thread.Start();
Response.Write(DateTime.Now.ToString(
"yyyy-MM-dd HH:mm:ss"));

}
public void Create()
{
FileStream ds
= File.Create(@"d:\1.txt");
StreamWriter sw
= new StreamWriter(ds);
sw.WriteLine(DateTime.Now.ToString(
"yyyy-MM-dd HH:mm:ss"));
Thread.Sleep(
5000);
sw.WriteLine(DateTime.Now.ToString(
"yyyy-MM-dd HH:mm:ss"));
sw.Close();
sw.Dispose();
ds.Close();
ds.Dispose();
}

执行结果如下:

 

页面结果返回时间

可以发现page处理返回后,thread子线程依然在运行,

问:thread子线程的主线程是哪一个,主线程的作用域多大,宿主环境是什么?该线程是IIS线程池的线程吗,改线程什么时候生,什么时候死,该线程与application对象所属的线程是什么关系。

问题补充: 那页面回发以后,thread子线程的主线程依然是没有消失的,而是被放到了iis线程池中 等待下一次的利用是这样吗??
lichaoxyz的主页 lichaoxyz | 初学一级 | 园豆:195
提问于:2011-04-27 13:33
< >
分享
所有回答(1)
0

Asp.net的宿主环境是IIS,w3wp.exe这个进程,内部是现成池,thread子线程的主线程就是响应请求的那个其中一个线程

2012 | 园豆:21230 (高人七级) | 2011-04-27 14:49
那页面回发以后,thread子线程的主线程依然是没有消失的,而是被放到了iis线程池中 等待下一次的利用 对吧
支持(0) 反对(0) lichaoxyz | 园豆:195 (初学一级) | 2011-04-27 14:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册