This commit is contained in:
2024-08-26 18:46:15 +08:00
parent 956fccaf6b
commit be00d09fac
6 changed files with 127 additions and 8 deletions

View File

@@ -27,7 +27,7 @@ namespace Tnb.ProductionMgr.Helpers
// 初始化代码,如果有必要的话
}
public void StartTimer(TimerCallback timerCallback,object data,TimeSpan dueTime, TimeSpan period)
public void StartTimer(TimerCallback timerCallback,object data,TimeSpan dueTime, TimeSpan period,bool autoClode = true)
{
Timer timer;
lock (_lockObject)
@@ -36,16 +36,19 @@ namespace Tnb.ProductionMgr.Helpers
Dictionary<string, object> dic = new Dictionary<string, object>();
dic.Add("key",timestamp);
dic.Add("value",data);
timerCallback += DisposeTimer;
if (autoClode)
{
timerCallback += DisposeTimer;
}
timer = new Timer(timerCallback, dic, dueTime, period);
_timers.Add(timestamp,timer);
}
}
private void DisposeTimer(object args)
public void DisposeTimer(object args)
{
Dictionary<string, object> dic = (Dictionary<string, object>)args;
string key = dic["key"].ToString();
string key = dic["key"]!=null ? dic["key"].ToString() : "";
if (_timers.ContainsKey(key))
{
_timers[dic["key"].ToString()].Dispose();
@@ -53,5 +56,6 @@ namespace Tnb.ProductionMgr.Helpers
_timers.Remove(dic["key"].ToString());
}
}
}
}