关于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 = "
补充:软件开发 , C# ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,
部分文章来自网络,