asp.net 线程的问题? - .NET技术 / ASP.NET
前段时间碰到一道面试题如下:
test.aspx页面有如下代码:
Response.Write(Test.GetDate());
Test类如下:
public class Test
{
static string dt="";
public static string GetDate()
{
dt = DateTime.Now.ToString();
Thread.Sleep(1000 * 20);
return dt;
}
}
问这种情况下可能会出现什么情况?
面试时我问考官答案,他说在多用户同时访问页面时可能一直等待,因为静态方法的线程等待20s。
但是我测试的时候,快速连续打开这个页面时并没有出现这种情况,而是打开的页面显示的时间是相同的。
有高手能解释下原因吗?
老实说我这边会等待 20秒.
就dt这个变量来说,是一样的是可以理解的,毕竟的静态的全局的
代码段并不是竞争资源。我的理解是:多个线程共享代码段,但是每个线程有自己的IP和堆栈,但是对于代码段是只读的。因此每个线程执行代码的时候并不能影响其他线程的执行(除非使用同步机制)
Thread.Sleep(1000 * 20); 只是当前执行此代码的县城sleep并不是所有线程都sleep。
另外一个线索就是,线程切换可以发生在任何 时候。因此也说明其他线程不会等待这个Thread.Sleep(1000 * 20);执行完。
End_rbody_60204216//-->
该回复于2010-01-19 17:25:06被管理员删除
对我有用[0]
丢个板砖[0]
引用
举报
管理
TOP
airermeng
(读万卷书,行万里路,交八方友)
等 级:
#4楼 得分:0回复于:2009-10-01 13:55:11
相关问答:
最近我通过学习,感觉自己学的还可以了,想做一网站,但是一直都找不到题材,不知道做什么,希望各位给我点意见,如果有需求文档就更好了!希望大家给我点意见,谢谢!
先做个企业网站吧,我感觉一个人做网站不适宜 ......
我原本是学jsp的可找了一个ASP的公司!我要重新学习! 学习ASP! 希望大家推荐一本好书给我谢谢
<ASP3.0高级编程> 网上有电子版的
发现网上asp信息时最多的 比其他的都多好多
yun
找本有应用事例的A ......
字段PowerList里面的值:KSO10000,KSO10021,KSO10004,KSO10022,KSO10020,KSO10008
现在要判断,当PowerList里面存在KSO10004这个值的时候,输出:好
VBScript code:
<%
set rs=server.Creat ......
有两个变量 imgUrl1和imgUrl2
Url1="images/1.jpg"
Url2="images/2.jpg"
有个javascript程序,想把Url1和Url2带到javascript里面的imgUrl2和imgUrl2,不知道怎么弄
<script type="t ......
原先有一个项目是用asp写的,因为系统扩展,我想添加一些模块或网页,想用asp.net写,然后在asp中redirect到aspx文件中,请问是否可以做到,如何在IIS中进行配置。
这样可以省去很多工作量,因为系统以前是别人写的 ......