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

c#通用多線程基類,以隊列形式

編輯:C#入門知識

 多線程這個概念大家都很熟悉,對於winform的開發人員來說.用的還是多的.但估計都是用Timer,或者backgroundWorker.     你是否曾經想過,寫一個基類,然後....一用到多線程的時候,就馬上能用上呢.   沒錯,福利來了,這面我為大家寫了多線程的一個基類.只有你用到多線程,下面的代碼肯定能幫到你很多忙     View Code       1.從構造函數來看,處理的是一個確定的列表.沒錯.這個多線程只能處理已經確定的列表,你是否會問.可不可以一邊添加,一邊處理呢?(呵呵,可以,請聯系樓主,當然你也可以自己寫,是吧?!)   public QueueThreadBase(IEnumerable<T> collection)   2.提供撤銷的功能        /// <summary>         /// 取消=True         /// </summary>         public bool Cancel { get; set; }   3.提供線程個數修改功能             /// <summary>         /// 線程數         /// </summary>         public int ThreadCount         {             get { return this.m_ThreadCount; }             set { this.m_ThreadCount = value; }     4.提供多種事件響應,如單個完成,全部完成的事件           /// <summary>         /// 全部完成事件         /// </summary>         public event Action<CompetedEventArgs> AllCompleted;         /// <summary>         /// 單個完成事件         /// </summary>         public event Action<T, CompetedEventArgs> OneCompleted;     5.提供完成的百分率             /// <summary>         /// 完成事件數據         /// </summary>         public class CompetedEventArgs : EventArgs         {             public CompetedEventArgs()             {               }             /// <summary>             /// 完成百分率             /// </summary>             public int CompetedPrecent { get; set; }             /// <summary>             /// 異常信息             /// </summary>             public Exception InnerException { get; set; }         }      6.提供終止線程的方式,繼續/單線程終止/全部終止           /// <summary>         /// dowork結果枚舉         /// </summary>         public enum DoWorkResult         {             /// <summary>             /// 繼續運行,默認             /// </summary>             ContinueThread = 0,             /// <summary>             /// 終止當前線程             /// </summary>             AbortCurrentThread = 1,             /// <summary>             /// 終止全部線程             /// </summary>             AbortAllThread = 2         }    

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