易截截图软件、单文件、免安装、纯绿色、仅160KB

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



相关问答:

ASP網頁中取得登陸的用戶名

我的網頁代碼為ASP語言,驗證方式為系統自帶的WINDOW驗證模式.

現在我如果要在ASP代碼中獲取當前的登入人 ......

asp伪静态 - Web 开发 / ASP

我找了一个伪静态代码,如下:
index.asp
<!--#include file="config.asp"-->  
<ol>  
<%  
Set rs=server.CreateObject("adodb.recordset") & ......

一个ASP判断字符串的问题

字段PowerList里面的值:KSO10000,KSO10021,KSO10004,KSO10022,KSO10020,KSO10008
现在要判断,当PowerList里面存在KSO10004这个值的时候,输出:好


VBScript code:

<%
set rs=server.Creat ......

三年ASP开发开发经验,现在找工作,,,

本人有三年开发经验,现在找工作(厦门),,,有意者请联系QQ:523054271
1.5年工作经验找工作 他要多少  我要一半~~

别说三年的了...就是5年的也一抓一大把.....

俺需要用asp+access做一个进销存软件,您能做 ......

求助高手帮我把一小段PHP代码转换成ASP的

<?php
if($_SERVER['HTTP_REFERER']!=''){
  @header("Content-type:image/jpeg");
  echo file_get_contents("xlight.jpg");
}
else{
  @header("location:ht ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号