C# 如何定时调用另一段代码

xhui1008 2008-09-12 06:00:36
问题是这样的:如何在a方法执行完后立即调用B方法,停止一分钟后再调用a方法?
public void a()
{
consolse.writeline("aaa");
}

public void b()
{
consolse.writeline("bbb");
}
...全文
239 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Odesky 2008-09-13
  • 打赏
  • 举报
回复
看来又来晚了
wlj1800 2008-09-13
  • 打赏
  • 举报
回复
Sleep的时间不宜过长,如果需要过长的等待建议设置多次睡眠,因为一次睡眠过长,容易造成程序无法及时得到系统时间片
a_zhangbin_asp 2008-09-12
  • 打赏
  • 举报
回复
4楼写得已经比较完美了!
如果时间比较短的话,也可以用Thread.Sleep(1000); //1000代表1秒这里的时长为秒
brallow 2008-09-12
  • 打赏
  • 举报
回复

class ClassA
{
private Timer timer;

public ClassA()
{
timer = new Timer(); //初始化计时器
timer.Interval = 3000; //定时时间:3秒
timer.Tick += TimerEvent; //计时器句柄
}

public void TimerEvent(object o, EventArgs ea)
{
b(); //调用定时器事件,即调用b
}

public void a()
{
Console.WriteLine("aaa");
timer.Start(); //启动定时器
}

public void b()
{
Console.WriteLine("bbb");
}
}
xhui1008 2008-09-12
  • 打赏
  • 举报
回复
楼上说的第一种方法应该如何写??能不能给点例子
谢谢
brallow 2008-09-12
  • 打赏
  • 举报
回复
如果时间很短的话,你可以用:
public void a()
{
consolse.writeline("aaa");
Thread.Sleep(1000*时长); //这里的时长为秒
b();
}

这也是可以的。
另外这个方案与定时器方案在时间精度上的区别我也不太确定。估计两者的精度差不多。
brallow 2008-09-12
  • 打赏
  • 举报
回复
使用定时器。
把这个void b()设置为定时器的事件。a方法在返回前启动定时器。

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧