仅是对自己在学习多线程知识时的点点滴滴进行记录。希望园子里的朋友多多指点。
1、为什么要使用线程 ?
CLR via C#给出了三个理由。
1、可以使用线程将代码同其他代码隔离。
2、可以使用线程来简化编码。
3、可以用线程来实现并发执行。
同样的理由还可以列出很多。
- 使 UI 响应更快
- 利用多处理器系统
- 简化建模
- 执行异步或后台处理
关于为什么使用线程我不想多说。网上有很多文章都有介绍。同样不使用线程的理由很多,在这里我们没有必要去探讨这个问题。大家了解一下就可。用或不用可依
据自己的应用的具体情况而定。
2、使用C# 的Thread 类创建线程。
下面代码是使用和创建线程的一个简单的例子。
1: using System;2: using System.Collections.Generic;3: using System.Linq;4: using System.Text;5: using System.Threading;6: using System.Threading.Tasks;7: namespace Threading8: {
9: class Program10: {11: static void Main(string[] args)12: {
13: Thread t1 = new Thread(NewThread);14: t1.Name = "newThread";15: t1.Start();
16: Console.WriteLine("this is a main Thread" + Thread.CurrentThread.ManagedThreadId);17: Console.ReadKey();18: }
19:
20: static void NewThread()21: {
22: Thread.Sleep(2000);23: Console.WriteLine("this ia new Thread" + Thread.CurrentThread.ManagedThreadId);24: }
25: }
26: }
27:
28:
Thread类的构造函数接受ThreadStart和ParameterizedStart的委托参数。在创建了Thread对象后,就可以调用Start()方法启动线程。在上述代码中我们给新创建
的线程设置了名字。我们通过VS中的Threads功能看见相关的内容。如下图:我们可以看见新创建的名字为newThread的线程。