您的位置:首页 > 编程语言 > ASP

asp.net 线程定时器(Timer )的使用

2010-06-02 00:11 417 查看
using System;
using System.Web.UI.WebControls;
using System.Threading;

namespace test
{
public partial class _Default : System.Web.UI.Page
{
public static Label lb;

protected void Page_Load(object sender, EventArgs e)
{
//Thread thread = new Thread(new ThreadStart(dowork));
//System.Threading.Timer t = new System.Threading.Timer(new System.Threading.TimerCallback(dowork), null, 450, 0);
//Timeout
//thread.Start();

Label1.Text = DateTime.Now.ToString();

_Default foo = new _Default();
_Default.lb = Label3;
foo.Go();

Label2.Text = DateTime.Now.ToString();
}

void Go()
{
TimerCallback timerDelegate = new TimerCallback(dowork);
AutoResetEvent autoEvent = new AutoResetEvent(false);
System.Threading.Timer workingTimer = new System.Threading.Timer(timerDelegate, autoEvent, 0, 3000);
autoEvent.WaitOne(3000, false);
workingTimer.Dispose();
}

static void dowork(object stateInfo)
{
//AutoResetEvent autoEvent = (AutoResetEvent)stateInfo; //没有使用,这里写出来仅说明参数 stateInfo 的用途

System.Threading.Thread.Sleep(2000);

if (lb.Text.Length > 0)
{
lb.Text += "<br />" + DateTime.Now.ToString();
}
else
{
lb.Text = DateTime.Now.ToString();
}
}

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: