欢迎来到天天文库
浏览记录
ID:59416157
大小:2.30 MB
页数:32页
时间:2020-09-19
《NET第8章 多线程与网络编程ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第8章多线程与网络编程本章的主要内容1、线程编程2、TCP简介与通信流程3、C#中与TCP编程相关的类4、UDP简介5、UdpClient类6、项目一基于TCP的LED灯控制服务器端软件设计7、项目二基于UDP通信的电源数据采集软件设计8、项目三基于TCPClient模式的温湿度数据采集软件设计1线程编程1.1进程线程进程(Process)是Windows系统中的一个基本概念,它包含着一个运行程序所需要的资源。进程之间是相对独立的,一个进程无法访问另一个进程的数据(除非利用分布式计算方式),一个进程运行的失败也不会影响其他进程的运行,Windows系统就是利用进程把工作划分为多个独立的
2、区域的。进程可以理解为一个程序的基本边界。线程(Thread)是进程中的基本执行单元,在进程入口执行的第一个线程被视为这个进程的主线程。在.NET应用程序中,都是以Main()方法作为入口的,当调用此方法时系统就会自动创建一个主线程。1.2多线程在单CPU系统的一个单位时间(timeslice)内,CPU只能运行单个线程,运行顺序取决于线程的优先级别。如果在单位时间内线程未能完成执行,系统就会把线程的状态信息保存到线程的本地存储器(TLS)中,以便下次执行时恢复执行。而多线程只是系统带来的一个假像,它在多个单位时间内进行多个线程的切换。因为切换频密而且单位时间非常短暂,所以多线程可被视
3、作同时运行。但需要注意一点,因为CPU需要花费不少的时间在线程的切换上,所以过多地使用多线程反而会导致性能的下降。1.3使用线程的好处(1)可以使用线程将代码同其他代码隔离,提高应用程序的可靠性。(2)可以使用线程来简化编码。(3)可以使用线程来实现并发执行。1.4Thread类(1)System.Threading.Thread类System.Threading.Thread是用于控制线程的基础类,通过Thread可以控制当前应用程序域中线程的创建、挂起、停止、销毁。(2)Thread类的主要方法Thread中包括了多个方法来控制线程的创建、挂起、停止、销毁,Thread类的主要方法
4、有:①Thread()②Start()③Abort()④Sleep()(3)Thread类的主要属性Thread类有许多属性,但最常用的主要的属性①CurrentThread:获取当前正在运行的线程;②IsAlive:获取一个值,该值指示当前线程的执行状态;③Priority:获取或设置一个值,该值指示线程的调度优先级;④ThreadState:获取一个值,该值包含当前线程的状态;⑤Name:获取或设置线程的名称。1.5ThreadStart委托原型为publicdelegatevoidThreadStart()。该委托用于没有参数的方法,在创建托管的线程时,在该线程上执行的方法将通过
5、一个传递给Thread构造函数的ThreadStart委托来表示。在调用System.Threading.Thread.Start方法之前,该线程不会开始执行。执行将从ThreadStart委托表示的方法的第一行开始。ThreadStart委托可用于实例方法和静态方法。1.6ParameterizedThreadStart委托publicdelegatevoidParameterizedThreadStart(objectobj)。该委托用于带参数的方法,在创建托管的线程时,在该线程上执行的方法将通过一个传递给Thread构造函数的ParameterizedThreadStart委托来
6、表示。在调用System.Threading.Thread.Start方法之前,该线程不会开始执行。执行将从ParameterizedThreadStart委托表示的方法的第一行开始。ParameterizedThreadStart委托可用于实例方法和静态方法。1.7C#中的多线程应用线程函数通过委托传递,可以不带参数,也可以带参数(只能有一个参数),可以用一个类或结构体封装参数。(1)不带参数的多线程序编程(2)带参数的多线程编程2TCP简介与通信流程2.1TCP简介TCP是TCP/IP体系中最重要的传输层协议,它提供全双工和可靠传输的服务。TCP是一种面向连接的、可靠的、基于字节流
7、的传输层通信协议。在TCP/IP核心协议中,TCP位于IP层之上的,在整体网络协议族中,它处于应用层诸多协议之下,很多常见的网络应用的协议(HTTP/FTP/SMTP/POP3等)都是支行在TCP基础之上的。2.2套接字的TCP通信流程TCP程序是面向连接的,其运行机制是:服务器有一个Socket一直处于侦听状态,客户端Socket与嗠器通信这前必须首先发起连接请求,服务器上负责好胃口让的Socket接受请求并另外创建一个Socket与客户端进
此文档下载收益归作者所有