1 / 17
文档名称:

第18章 多线程.ppt

格式:ppt   页数:17
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第18章 多线程.ppt

上传人:中国课件站 2011/10/11 文件大小:0 KB

下载得到文件列表

第18章 多线程.ppt

文档介绍

文档介绍:第18章多线程
主要内容
本章主要讲解多线程的编程,学习的目标包括:理解多线程的概念;了解多线程提高程序性能的方式;掌握线程的创建、控制和同步;理解线程的生命周期、优先级和调度;理解线程的安全性;掌握线程的实现方式。
基本概念
多线程的概念
程序是一段静态的代码,是应用软件执行的蓝本。
进程是应用程序的一个运行例程,是应用程序的一次动态执行过程。进程由若干个代码和数据块组成,每个进程还拥有其他的资源,如文件、动态内存地址、线程等。
线程是进程中的一个执行单元。一个进程可以包含若干个线程。同一进程中的各个线程对应于一组CPU指令、一组CPU寄存器以及一个堆栈。进程并不执行代码,它只是代码存放的地址空间。进程地址空间中所存放的代码由线程来执行。
多线程处理可以同时运行多个任务,因此多线程技术可以使程序的响应速度更快,可以让占用大量处理时间的任务和当前没有进行处理的任务定期将处理器时间让给别的任务,可以随时停止任务,还可以设置每个任务的优先级以优化程序性能。
C#中的线程实现方法(1)
系统以对象方式来管理进程和线程,因此系统提供了线程对象。在C#中,实现多线程有多种方法,最常见的三种方法是分别使用Timer类(线程计数器)、ThreadPool(线程池)类和Thread(线程)类。
Timer类
Timer类提供以指定的时间间隔执行方法的机制。该类是sealed类,不能被继承。
调用Timer类的构造方法时,使用TimerCallback委托指定希望Timer执行的方法。计时器委托在构造计时器时指定,并且不能更改。此方法不在创建计时器的线程中执行,而是在系统提供的线程池线程中执行。创建计时器时,可以指定在第一次执行方法之前等待的时间量(截止时间)以及此后的执行期间等待的时间量(时间周期)。可以使用Change()方法更改这些值或禁用计时器。当不再需要计时器时,可以使用Dispose()方法释放计时器持有的资源。
,而且由线程池线程服务,简单且对资源要求不高。Timer类适用于间隔性地完成任务。
C#中的线程实现方法(2)
ThreadPool类
ThreadPool为大多数任务提供最佳的基本线程创建和管理机制。该类使用户能够请求某一线程执行任务而不必亲自完成任何线程管理工作。
ThreadPool类提供一个线程池,该线程池可用于发送工作项、处理异步 I/O、代表其他线程等待以及处理计时器。许多应用程序创建的线程都要在休眠状态中消耗大量时间,以等待事件发生。其他线程可能进入休眠状态,只被定期唤醒以轮询更改或更新状态信息。线程池通过为应用程序提供一个由系统管理的辅助线程池让用户更有效地使用线程。一个线程监视排到线程池的若干个等待操作的状态。当一个等待操作完成时,线程池中的一个辅助线程就会执行对应的回调函数。
C#中的线程实现方法(3)
Thread类
Timer类适用于间隔性地完成任务。
ThreadPool类适用于多个小的线程。
Thread类是实现线程的主要方法,它适用于各种情况。
Thread类
Thread类
线程的状态和生命周期
在公共语言运行库中创建线程A
A响
应Su
spend
请求
SuspendedRequested
Suspended
BackGround
WaitSleepJoin
Unstarted
Abort
Stopped
AbortRequested
StoppedRequested
A调用start( )
B调用Interrupt( )

ou

A的
Is

Ba
ck
nd

Gr
A调用sleep( )
B调用wait( ), Join( )
B调
用Re
sume ( )
线



B


u
s
S
e
nd ( )
p



Abort

A
B

Abort( )

Running
B调
用Re
sume ( )
线程的生命周期示意图
多线程编程的基本步骤(1)
第一个步骤是定义Thread对象。Thread类是一个sealed类,不能被继承,可以创建Thread类的实例。每个线程指代一个方法,称为线程方法或线程函数,该方法无参数,且返回值类型为void。若需要传递相关的参数,可以使用对象的成员变量或方法。生成Thread实例时,首先定义一个指代,然后定义一个Thread对象,调用Thread类的构造方法生成该实例。例如,下列代码生成一个

最近更新

2024年喀什职业技术学院单招职业适应性测试题.. 39页

2024年嘉兴职业技术学院单招职业倾向性测试模.. 41页

2026年伊索寓言读后感5篇 6页

2024年四川卫生康复职业学院单招职业倾向性测.. 42页

经济型连锁酒店员工绩效管理系统的创新设计 29页

2024年四川工业科技学院单招职业倾向性测试题.. 40页

2024年四川希望汽车职业学院单招综合素质考试.. 41页

肝胃气痛中西医结合治疗 36页

2024年四川文化传媒职业学院单招职业技能测试.. 40页

2024年四川机电职业技术学院单招综合素质考试.. 39页

2024年四川汽车职业技术学院单招职业技能考试.. 40页

网络流量的智能调度策略 29页

2026年企业管理制度简易 24页

2024年大庆医学高等专科学校单招职业技能测试.. 40页

2024年大连装备制造职业技术学院单招综合素质.. 40页

2024年天府新区航空旅游职业学院单招职业倾向.. 39页

2024年天津交通职业学院单招职业适应性测试题.. 39页

2026年企业年会的活动策划方案 52页

2024年天津国土资源和房屋职业学院单招职业技.. 42页

2026年企业实习生个人转正申请书 7页

2024年天津电子信息职业技术学院单招职业适应.. 40页

2026年企业培训方案新颖范文 27页

2024年太原幼儿师范高等专科学校单招职业倾向.. 40页

2024年太湖创意职业技术学院单招职业技能考试.. 40页

2024年娄底职业技术学院单招职业技能测试模拟.. 41页

2024年宁夏工商职业技术学院单招职业适应性测.. 42页

2024年宁波卫生职业技术学院单招综合素质考试.. 41页

2025年国家开放大学《建筑力学》章节测试参考.. 13页

【人教版英语字帖】七年级下册单词表衡水体字.. 42页

食品安全自查、从业人员健康管理、进货查验记.. 9页