C#Timer定时器和TimerManager使用

//封装TimerManager类

public class TimerManager

{

public TimerManager();

public bool CreateTimer(string timerId, bool aAutoReset, double aInterval, ElapsedEventHandler aCallbackHandler, object state = null);

//timerId:时间戳

//aAutoReset:自动重置

//aInterval:间隔时间

//aCallbackHandler:回叫处理

//object:需要传输的东西,可以是变量、可以是数组

public void Init();

public bool IsAliveTimer(string aTimerID); //判断创建的Timer是否还活着

public void TerminateTimer(string aTimerID); //关闭Timer

}

//创建Timer并传输object里的东西

string timerId = string.Format("{0}", DateTime.Now.ToString("yyyyMMddHHmmssfff"));

if (Timermanager.IsAliveTimer(timerId)){

Timermanager.TerminateTimer(timerId);

}

Timermanager.CreateTimer(timerId, false, 15*1000, new System.Timers.ElapsedEventHandler(TestTimeout),

new object[] { test1, test2, test3});

private void TestTimeout(object sender, System.Timers.ElapsedEventArgs e)

{

try

{

UserTimer userTimer = sender as UserTimer;

string test1 = ((object[])userTimer.State)[0].ToString(); //可以通过Timer传输到这里

string test1 = ((object[])userTimer.State)[0].ToString();

UserTimer userTimer = sender as UserTimer;

if (Timermanager.IsAliveTimer(userTimer.TimerId))

{

Timermanager.TerminateTimer(userTimer.TimerId);

}

}

catch (Exception ex)

{

LogError(MethodBase.GetCurrentMethod().Name + "()", ex);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值