最近在写关于多线程执行定时任务的代码,先贴代码- public class Program
- {
-
- static void Main(string[] args)
- {
-
-
- string date = "2014/10/12/21/56";
- Ex ex = new Ex();
- ex.Start(date);
- //UI线程至此结束了,该进程下的其他后台线程(可设置其为前台线程,则不会结束)都会结束
- }
-
- }
- public class Ex
- {
- Thread checkTimeThread = null;//检查时间的线程,应该创建一次就有一个新的检查时间的线程
- public void Start(object date)
- {
- checkTimeThread = new Thread(Excute);
- checkTimeThread.Start(date);
- }
-
- bool isExcute = true;
- public void Excute(object oTime)
- {
- try
- {
- string today = null;
- while (isExcute)
- {
- today = DateTime.Now.ToString("yyyy/MM/dd/HH/mm"); //2014/10/11/21/49
- //如果时间处在选定的时间点,将会执行任务
- if (today == oTime.ToString())
- //执行获取短息回复任务,并返回回复内容
- {Console.WriteLine("i have done!");break; }
- //每隔1s执行一次任务
- Thread.Sleep(1000);
- }
- }
- catch (Exception)
- {
- isExcute = false;
- checkTimeThread.Abort();
-
- }
- isExcute = false;
- if (checkTimeThread.IsAlive)
- checkTimeThread.Abort();
- }
- }
复制代码 这段代码每次执行一个定时任务是可行的,但是我的目的是能多创建几个定时任务,感觉有点难度了
|
|