程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#定時任務采用線程和隊列實現

C#定時任務采用線程和隊列實現

編輯:C#入門知識

構思:寫一個全局的Queue ,  然後開一個線程去循環. 不善言語,直接看代碼吧!
 

public class MyQueue
{
        public decimal Id { get; set; }
        public decimal Type { get; set; }
}

static Queue<MyQueue> TaskQueue = new Queue<MyQueue>();

static void Main(string[] args)
{
    ServiceStart();
    Console.ReadLine();
}

public static void ServiceStart()
{
    Thread TaskThread = new Thread(new ThreadStart(ThreadInvoke));
    TaskThread.IsBackground = true;
    TaskThread.Start();
}
public static void ThreadInvoke()
{
    while (true)
    {  
        string m_time = DateTime.Now.ToString("HH:mm:ss");
        if (m_time == Invoke_Time) //判斷是否指定時間(Invoke_Time)
        {
            //InitTaskQueue();//初始化隊列
            while (TaskQueue.Count > 0)
            {
                MyQueue m_mq = null;
                lock (TaskQueue)
                {
                    m_mq = TaskQueue.Dequeue();
                }
                //YourMethd(m_mq.UserId, m_mq.FeedTypeId); //調用方法
                //Common.Log.Logger.Info(DateTime.Now.ToString()); //記錄日志
                Thread.Sleep(100);
            }
        }
        Thread.Sleep(100);
    }
}
    

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved