/// <summary> /// 创建服务控制容器:根据指定毫秒及线程方法 /// </summary> /// <param name="Milliseconds"></param> /// <param name="method"></param> /// <returns></returns> public static ThreadSvrUtil CreateSvrUtil(int Milliseconds, ThreadStart method) { ThreadTimer t = new ThreadTimer(Milliseconds); t.Method = method; return(new ThreadSvrUtil(t)); }
/// <summary> /// 创建服务控制容器:根据指定定时配置及线程方法 /// </summary> /// <param name="ts">定时间隔</param> /// <param name="method">线程服务要执行的具体代码委托</param> /// <returns></returns> public static ThreadSvrUtil CreateSvrUtil(TimeSpan ts, ThreadStart method) { ThreadTimer t = new ThreadTimer(ts); t.Method = method; return(new ThreadSvrUtil(t)); }
/// <summary> /// 创建服务控制容器:根据指定定时配置及线程方法 /// </summary> /// <param name="appconfigExp">定时配置键值</param> /// <param name="method">线程服务要执行的具体代码委托</param> public static ThreadSvrUtil CreateSvrUtilByExp(string appconfigExp, ThreadStart method) { ThreadTimer t = ThreadTimer.CreateThreadTimerByExp(appconfigExp); t.Method = method; return(new ThreadSvrUtil(t)); }
/// <summary> /// 通过定时表达式创建定时激活器 /// 定时器设置格式如下: /// 1、定时触发:0|h|1,表示按每小时激活,0|m|1 表示按每分钟激活,0|s|1 表示按每秒钟激活,0|ms|1 表示按每毫秒激活 /// 2、时点触发:1|17:30;17:12;02:36 /// </summary> /// <param name="GapSpanExp"></param> /// <returns></returns> public static ThreadTimer CreateThreadTimerByExp(string GapSpanExp) { ThreadTimer t = new ThreadTimer(); if (string.IsNullOrEmpty(GapSpanExp)) { return(t); } string[] vs = GapSpanExp.Split('|'); if (vs[0] == "0" && vs.Length == 3)//定时激活 { if (vs[1] == "h") { t.GapSpan = new TimeSpan(vs[2].ToInt(), 0, 0); } else if (vs[1] == "m") { t.GapSpan = new TimeSpan(0, vs[2].ToInt(), 0); } else if (vs[1] == "ms")//毫秒 { t.GapSpan = new TimeSpan(0, 0, 0, 0, vs[2].ToInt()); } else { t.GapSpan = new TimeSpan(0, 0, vs[2].ToInt()); } } else if (vs[0] == "1") { t.TriggerType = TriggerType.FixedTime; t.GapSpan = new TimeSpan(0, 1, 0); string[] ts = vs[1].Split(';'); foreach (string item in ts) { string[] time = item.Split(':'); if (time.Length >= 2) { t.TriggerTimes.Add(new DateTime(1900, 1, 1, time[0].ToInt(), time[1].ToInt(), 0)); } } } return(t); }
/// <summary> /// 线程服务控制容器构造函数 /// </summary> /// <param name="timer"></param> public ThreadSvrUtil(ThreadTimer timer) { threadTimer = timer; Runing = false; }
/// <summary> /// 构造函数 /// </summary> /// <param name="ts"></param> /// <param name="method"></param> public ThreadSvrUtil(TimeSpan ts, ThreadStart method) { threadTimer = new ThreadTimer(ts); threadTimer.Method = method; }
private System.Threading.Thread threadSync;//进行同步的线程 /// <summary> /// 构造函数 /// </summary> /// <param name="Milliseconds"></param> /// <param name="method"></param> public ThreadSvrUtil(int Milliseconds, ThreadStart method) { threadTimer = new ThreadTimer(Milliseconds); threadTimer.Method = method; }