目录
一、线程的特点:
1.进程是资源分配的最小单位,线程是最小的执行单位。
2.一个进程可以有多个线程。
3.线程共享进程资源。
二、多线程的优缺点
一般情况下,需要用户交互的软件都必须尽可能快地对用户的活动做出反应,以便提供丰富多彩的用户体验,但同时它又必须执行必要的计算以便尽可能快地将数据呈现给用户,这时可以使用多线程来实现。
1.多线程的优点包括:
-
提高应用程序的响应性能:多线程可以让应用程序同时处理多个任务,从而提高应用程序的响应性能。
-
提高应用程序的并发性:多线程可以让应用程序并发执行多个任务,从而提高应用程序的并发性。
-
提高应用程序的可扩展性:多线程可以让应用程序更容易地进行扩展,提高应用程序的可扩展性。
-
优化资源利用率:多线程可以让应用程序更充分地利用系统资源,提高资源利用率。
2.多线程的缺点包括:
-
编写和调试多线程程序比较困难,需要考虑线程同步、资源共享等问题。
-
多线程程序可能会出现死锁、竞态条件等问题,需要进行复杂的调试和排查。
-
多线程程序可能会导致性能下降,因为线程之间的切换和同步会增加额外的开销。
-
多线程程序可能会导致不可预测的行为,因为执行顺序可能会受到硬件和操作系统的干扰。
三、线程的创建与启动
具体步骤:
- 创建线程对象:可以使用Thread类的构造函数创建一个新的线程对象。
Thread th = new Thread(new ThreadStart(ShowInfo));
- 添加Thread的命名空间。
using System.Threading;
- 实现线程方法:需要定义一个方法作为线程的入口点。该方法应该被定义为void类型,并且不带任何参数。
static void ShowInfo() { }
- 启动线程:调用Thread类的Start方法来启动线程。
th.Start();
完整代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;//添加Thread的命名空间
namespace 线程基础
{
class Program
{
static void ShowInfo()//线程输出信息
{
Console.WriteLine("新的线程启动");
}
static void Main(string[] args)
{
Thread th = new Thread(new ThreadStart(ShowInfo));//用于执行ShowInfo方法
th.Start();//调用Start方法启动线程
Console.ReadLine();
}
}
}
结果:
四、总结:
C#中对线程进行操作时,主要用到了Thread类,该类位于System.Threading命名空间下。创建一个线程非常简单,只需将其声明并为其提供线程起始点处的方法委托即可。创建新的线程时,需要使用Thread类,Thread类具有接受一个ThreadStart委托或ParameterizedThreadStart委托的构造函数,该委托包装了调用Start方法时由新线程调用的方法。 创建了Thread类的对象之后,线程对象已存在并已配置,但并未创建实际的线程,这时,只有在调用Start方法后,才会创建实际的线程。
2021物联网应用技术2班-梁慧如