Exemplo n.º 1
0
        /// <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));
        }
Exemplo n.º 2
0
        /// <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));
        }
Exemplo n.º 3
0
        /// <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));
        }
Exemplo n.º 4
0
        /// <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);
        }
Exemplo n.º 5
0
 /// <summary>
 /// 线程服务控制容器构造函数
 /// </summary>
 /// <param name="timer"></param>
 public ThreadSvrUtil(ThreadTimer timer)
 {
     threadTimer = timer;
     Runing      = false;
 }
Exemplo n.º 6
0
 /// <summary>
 /// 构造函数
 /// </summary>
 /// <param name="ts"></param>
 /// <param name="method"></param>
 public ThreadSvrUtil(TimeSpan ts, ThreadStart method)
 {
     threadTimer        = new ThreadTimer(ts);
     threadTimer.Method = method;
 }
Exemplo n.º 7
0
        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;
        }