黑马程序员技术交流社区

标题: 关于多线程的定时任务 [打印本页]

作者: 草缘    时间: 2014-10-13 14:10
标题: 关于多线程的定时任务
最近在写关于多线程执行定时任务的代码,先贴代码
  1. public class Program
  2.     {
  3.       
  4.         static void Main(string[] args)
  5.         {
  6.             
  7.             
  8.             string date = "2014/10/12/21/56";
  9.             Ex ex = new Ex();
  10.             ex.Start(date);
  11.             //UI线程至此结束了,该进程下的其他后台线程(可设置其为前台线程,则不会结束)都会结束
  12.         }
  13.         
  14.     }
  15.     public class Ex
  16.     {
  17.         Thread checkTimeThread = null;//检查时间的线程,应该创建一次就有一个新的检查时间的线程
  18.         public void Start(object date)
  19.         {
  20.             checkTimeThread = new Thread(Excute);      
  21.             checkTimeThread.Start(date);            
  22.         }
  23.         
  24.         bool isExcute = true;
  25.         public void Excute(object oTime)
  26.         {
  27.             try
  28.             {
  29.                 string today = null;
  30.                 while (isExcute)
  31.                 {
  32.                     today = DateTime.Now.ToString("yyyy/MM/dd/HH/mm"); //2014/10/11/21/49                              
  33.                     //如果时间处在选定的时间点,将会执行任务
  34.                     if (today == oTime.ToString())
  35.                     //执行获取短息回复任务,并返回回复内容
  36.                     {Console.WriteLine("i have done!");break; }
  37.                     //每隔1s执行一次任务
  38.                     Thread.Sleep(1000);
  39.                 }      
  40.             }
  41.             catch (Exception)
  42.             {
  43.                 isExcute = false;
  44.                 checkTimeThread.Abort();
  45.                
  46.             }
  47.             isExcute = false;
  48.             if (checkTimeThread.IsAlive)
  49.                 checkTimeThread.Abort();


  50.         }
  51.     }
复制代码
这段代码每次执行一个定时任务是可行的,但是我的目的是能多创建几个定时任务,感觉有点难度了


作者: Li_升杰    时间: 2014-10-14 07:58
{:2_30:}{:2_30:}
作者: 这个夏天的芬芳    时间: 2014-10-14 11:32
{:2_31:}{:2_31:}{:2_31:}{:2_31:}{:2_31:}{:2_31:}
作者: vaivxuanzi    时间: 2014-10-17 02:04
封装,重复调用




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2