C#网络编程技术教程 作者 金华 华进 第5章.pptVIP

C#网络编程技术教程 作者 金华 华进 第5章.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C#网络编程技术教程 第五章 C#网络编程方法概述 学习目标 了解TCP/IP结构及其基本概念。 掌握.NET网络编程基础知识。 掌握套接字编程的基本原理。 掌握C#中的多线程编程方法。 本章内容 5.1 TCP/IP概述 5.2 .NET网络编程基础 5.3 套接字编程 5.4 多线程编程 5.5 基于多线程的编程实例 5.1 TCP/IP概述 5.1 TCP/IP概述 5.1 TCP/IP概述 5.1 TCP/IP概述 5.1 TCP/IP概述 5.1 TCP/IP概述 5.1 TCP/IP概述 5.1 TCP/IP概述 5.1 TCP/IP概述 5.1 TCP/IP概述 5.1 TCP/IP概述 5.1 TCP/IP概述 5.1 TCP/IP概述 5.1 TCP/IP概述 5.1 TCP/IP概述 5.1 TCP/IP概述 5.1 TCP/IP概述 5.1 TCP/IP概述 5.1 TCP/IP概述 5.1 TCP/IP概述 5.1 TCP/IP概述 5.1 TCP/IP概述 5.1 TCP/IP概述 5.2 .NET网络编程基础 5.2 .NET网络编程基础 5.2 .NET网络编程基础 5.2 .NET网络编程基础 5.2 .NET网络编程基础 5.2 .NET网络编程基础 5.2 .NET网络编程基础 5.2 .NET网络编程基础 5.2 .NET网络编程基础 5.2 .NET网络编程基础 5.3 套接字编程 5.3 套接字编程 5.3 套接字编程 5.3 套接字编程 5.3 套接字编程 5.3 套接字编程 5.3 套接字编程 5.3 套接字编程 5.3 套接字编程 5.3 套接字编程 5.3 套接字编程 5.3 套接字编程 5.3 套接字编程 5.3 套接字编程 5.3 套接字编程 5.3 套接字编程 5.4 多线程编程 5.4 多线程编程 5.4 多线程编程 5.4 多线程编程 5.4 多线程编程 5.4 多线程编程 5.4 多线程编程 5.4 多线程编程 5.4 多线程编程 5.4 多线程编程 5.4 多线程编程 5.4 多线程编程 5.4 多线程编程 5.5 基于多线程的编程实例 5.5 基于多线程的编程实例 5.5 基于多线程的编程实例 5.5 基于多线程的编程实例 5.5 基于多线程的编程实例 5.4.2 C#中多线程的开发 (5)继续线程 已经挂起的线程可以使用Thread类的Resume方法继续运行。如果没有被挂起的线程使用该操作将不起作用,所以使用Resume方法前,一般也先判断线程是否已经被挂起。示例如下: if (t1.ThreadState == ThreadState.Suspended)//判断线程是否已被挂起 t1.Resume(?); (6)终止线程 在终止线程之前,一般先判断线程的IsAlive属性,确认该线程是否处于活动状态,处于活动状态的线程才可以使用Thread类的Abort方法进行终止。示例如下: if (t1.IsAlive)//判断线程是否处于活动状态 t1.Abort(?); 2.线程同步 在包含多个线程的应用程序中,线程间有时会共享存储空间,当两个或多个线程同时访问同一共享资源时,必然会出现冲突问题。如一个线程可能尝试从一个文件中读取数据,而另一个线程则尝试在同一个文件中修改数据。在这种情况下,数据可能变得不一致。针对这种问题,通常需要让一个线程彻底完成其任务后,再运行下一个线程;或者要求一个线程对共享资源访问完全结束后,再让另一个线程访问该资源,必须保证一个共享资源一次只能被一个线程使用。实现此目的的过程称为线程同步。 5.4.2 C#中多线程的开发 在C#.NET中提供了多种实现线程同步的方法。如加锁(Lock)、监视器(Monitor)、互斥体(Mutex)等。 (1)加锁(Lock) 实现多线程同步的最直接办法就是加锁,就像服装店的试衣间一样,当一个顾客进去试衣时把试衣间门锁上,其他顾客必须等他出来后才能进去试衣。C#语言的lock语句就可以实现这个功能。它可以把一段代码定义为互斥段,在一个时刻内只允许一个线程进入执行,而其他线程必须等待。 其基本格式如下: lock(expression)statement_b

您可能关注的文档

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档