C#和.net为多线程提供的支持

本文详细介绍了线程的概念及其在C#中的实现方式,包括如何创建线程、线程的生命周期、线程状态的管理以及线程间的同步问题。重点阐述了多线程在提高程序效率方面的优势,并通过示例代码展示了如何在实际项目中应用多线程技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

线程:程序中的执行序列。每次创建一个新执行线程时,都需要指定从哪个方法开始执行。应用程序中的第一个线程总是Main()方法,因为它是.net运行时开始执行的第一个线程,后续的线程由应用程序在内部启动。

多线程的工作方式:一个处理器在某一刻只能处理一个任务。

操作系统可以同时处理多个任务,称为抢先式多任务处理:指windows在某个进程中选择一个线程,运行了一个时间片,再选择下一个被分配了时间片的线程。

 

Thread类:System.Threading命名空间。一个Thread实例表示一个线程,通过实例化一个Thread对象,就可以创建另一个线程。

实例化:备注:在一个应用程序中创建另一个线程,执行一些时间较久的任务,通常称为工作线程。

Thread  a=new Thread();

a.Name="线程名称";

为了启动线程,需要指定线程应执行的方法,这个方法不带任何参数,且返回void。我们调用Thread.Start()方法来启动线程,该方法的参数是其入口的信息,因为该参数实际上是一个方法的信息,所以要使用委托。

eg1.

void ChangeColorDepth()

{

}

Thread DepthChangeThread=new Thread();

DepthChangeThread.Name="改变深度线程";

ThreadStart EntryPoint=new ThreadStart(ChangeColorDepth);//使用委托

DepthChangeThread.Start(EntryPoint);//参数是入口的信息,是方法的细节信息,所以使用ThreadStart委托。

线程的状态:

1、挂起:进入睡眠状态,仅停止运行某段时间,以后还可以恢复,从被挂起的那个状态重新运行

2、中止:即永久停止

 DepthChangeThread.Suspend();                   挂起线程,或者如果线程已挂起,则不起作用。

 DepthChangeThread.Resume();                   继续已挂起的线程,即恢复。

DepthChangeThread.Abort();                           调用此方法通常会终止线程。

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值