线程,也被称为轻量进程,指运行中程序的调度单位。目前大部分平台都支持多线程,允许程序中存在多个线程。在Windows操作系统的任务管理器中就可以查看线程,设置任务管理器如图1-1所。单击“确定”按钮,就可以查看每个进程的线程数,如图1-2所示。
下面我们创建一个最简单的多线程应用程序。在C#应用程序中,线程由Thread类表示,位于System.Threading命名空间下。线程的启动由Thread类的Start方法实现。线程的构造函数中一般是一个方法名,启动该线程即等于启动了该方法。
1、创建一个windows控制台应用程序,命名为CreateThreadDemo.
2、添加如下引用
using System.Threading;
3、修改“Program.cs”文件的代码如下。
namespace CreateThreadDemo
{
class Program
{
static void Main(string[] args)
{
//定义一个线程变量t,构造函数中使用的参数是一个方法
Thread t = new Thread(WriteHi);
t.Start(); //启动该线程
//循环输出“Hello”字符串
while (true)
{
Console.Write("Hello ");
}
}
/// <summary>
/// 循环输出"HI"
/// </summary>
static void WriteHi()
{
while (true)
{
Console.Write("Hi ");
}
}
}
}
运行结果:
由于程序中没有设定结束循环的条件,因此必须通过按下“Ctrl +C”组合键终止程序。从本程序的输出结果可以看出,线程的运行方式是分时的,即每个线程轮流占有CPU,因此两个线程的输出是顺序进行的。