程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 關於C#線程,線程池和並行運算的簡單使用和對比

關於C#線程,線程池和並行運算的簡單使用和對比

編輯:C#入門知識

參考:

http://msdn.microsoft.com/zh-cn/library/system.threading.threadpool(VS.80).aspx

http://www.codeproject.com/KB/threads/threadtests.aspx

http://www.codeproject.com/KB/threads/smartthreadpool.aspx

http://blog.zhaojie.me/2009/07/thread-pool-1-the-goal-and-the-clr-thread-pool.html  (老趙的淺談線程池上中下三篇)

Jeffrey Richter <<CLR via C#>> 3rd Edition

 

先大概看一下控制台應用程序的Main方法的主要代碼:

  001 static bool done = false; 002 static decimal count2 = 0; 003 static int threadDone = 0;//標志啟用線程數? 004 static System.Timers.Timer timer = new System.Timers.Timer(1000); 005   006 static decimal[] threadPoolCounters = new decimal[10]; 007 static Thread[] threads = new Thread[10]; 008 static System.Timers.Timer[] threadTimers = new System.Timers.Timer[10]; 009   010 static void Main(string[] args) 011 { 012     timer.Stop(); 013     /*當 AutoReset 設置為 false 時,Timer 只在第一個 Interval 過後引發一次 Elapsed 事件。 014      若要保持以 Interval 時間間隔引發 Elapsed 事件,請將 AutoReset 設置為 true。*/ 015     timer.AutoReset = false; 016     timer.Elapsed += new ElapsedEventHandler(OnTimerEvent);//當timer.Start()時,觸發事件 017     decimal total = 0; 018   019     // raw test 020     decimal count1 = SingleThreadTest();//單一線程,一跑到底 021     Console.WriteLine("Single thread count = "
  1. 上一頁:
  2. 下一頁: