问题:如何每隔一段时间执行某个动作?
示例1:
private void form_Load()
{
Action loopAction = MyMethod;
loopAction.BeginInvoke(null,null);
}
private void MyMethod()
{
while(true)
{
//DoSomething
Thread.Sleep(100);
}
}
示例2:
// Timer控件
//属性:Enabled:true; //获取或设置计时器是否正在运行。
Interval:60000; //时间为每分钟刷新一次
//Timer事件
private void timer1_Tick(object sender, EventArgs e)
{
DataBind(); //绑定数据
}
//加载页面时显示数据
private void Form1_Load(object sender, EventArgs e)
{
DataBind(); //绑定数据
}
示例3:
//定义线程
Thread LogThread = new Thread(new ThreadStart(DoService));
//设置线程为后台线程,那样进程里就不会有未关闭的程序了
LogThread.IsBackground = true;
if (bStop == true)
{
LogThread.Start();//起线程
}
private static void DoService()
{
while (true)
{
bStop = false;
SendToService();
System.Threading.Thread.Sleep(10000);
}
}
本文介绍了三种常见的定时任务实现方式:使用BeginInvoke启动无限循环、利用Timer控件的Tick事件定期触发方法、创建并启动后台线程执行循环任务。这些方法适用于不同场景的需求。
4831

被折叠的 条评论
为什么被折叠?



