- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
多线程与异步套接字编程 在Windows操作系统中,线程是指系统中最小的功能执行单元,其可以独立的完成某一项功能。所以在进行Windows编程中,如果用户使用多线程处理某个功能,那么该功能被处理的效率远比单个线程处理的效率高。在本章中,将向用户介绍使用多线程处理异步套接字编程的相关方法。 多线程技术 在操作系统中,所有程序的功能都是由每个程序中的多个线程共同完成。从某种特定的意义上而言,线程才是计算机真正意义上的功能执行者。而从线程执行的数目而言,线程可以分为单线程和多线程。其中,多线程是由多个单线程组成。如果从线程的执行效率而言,多线程较单线程的执行效率高很多。那么用户在编程时,使用多线程技术可以提高程序的执行效率。 委托 定义委托 2-1 定义委托 2-2 事件 定义事件 订阅事件 通知订阅对象 示例 总结 委托包含对方法的引用 C# 中的事件允许一个对象将发生的事件或修改通知其他对象 基本概念 在本节中,将介绍一些关于计算机进程和线程方面的基本概念。用户通过这些基本概念的学习,将学习到计算机程序的工作原理以及多线程处理方面的基础知识。 1.计算机进程 2.计算机线程 多线程编程 多线程编程 多线程编程 多线程编程 多线程编程 多线程编程 多线程编程 多线程编程 多线程编程 多线程编程 5.4 多线程编程 多线程编程 2.线程同步 在包含多个线程的应用程序中,线程间有时会共享存储空间,当两个或多个线程同时访问同一共享资源时,必然会出现冲突问题。如一个线程可能尝试从一个文件中读取数据,而另一个线程则尝试在同一个文件中修改数据。在这种情况下,数据可能变得不一致。针对这种问题,通常需要让一个线程彻底完成其任务后,再运行下一个线程;或者要求一个线程对共享资源访问完全结束后,再让另一个线程访问该资源,必须保证一个共享资源一次只能被一个线程使用。实现此目的的过程称为线程同步。 多线程编程 多线程编程 多线程编程 多线程编程 多线程编程 异步TCP应用编程 Socket类 1) BeginAccept(AsyncCallBack, Object): 接入一个尝试的连接 2) EndAccept(IAsyncResult): 结束挂起的异步接受传入,并创建新的套接字 3) BeginConnect(EndPoint, AsyncCallBack, Object) 尝试连接远程主机 4) EndConnect(IAsyncResult) 结束处于挂起的异步连接请求 5) BeginReceive: 开始从连接的Socket中异步接收数据。 6) EndReceive: 结束挂起的异步读取。 7) BeginSend: 将数据异步发送到连接的Socket。 8) EndSend: 结束挂起的异步发送。 AsynCallback委托 AsynCallback委托 当线程池中的Begin…方法执行完毕时,会自动通过 AsyncCallback委托调用在Begin…方法的参数中 指定的回调方法。 回调方法是在程序中事先定义的,在回调方法 中,通过End…方法获取Begin…方法的返回值和 所有输入/输出参数,从而达到异步操作方式下完 成参数传递的目的。 异步TCP编程 异步TCP编程 异步TCP编程 EventWaitHandle类 System.Threading命名空间下的EventWaitHandle 类,用于在异步操作时控制线程间的同步,即控制 一个或多个线程继续执行或者等待其它线程完成。 也就是,需要同步的线程可以先阻塞当前线程,然 后根据Windows操作系统发出的信号,决定是继续 阻塞等待其它工作完成,还是不再等待而直接往下 执行。 EventWaitHandle类 EventWaitHandle类提供的方法有: 1) Reset:将信号的状态设置为非终止状态,即不让操作系统发出信号,从而导致等待收到信号才能继续执行的线程阻塞。 2) Set:将事件状态设置为终止状态,这样等待的线程将会收到信号,从而继续执行而不再等待。 3) WaitOne:阻塞当前线程,等待操作系统为其发出信号,直到收到信号才解除阻塞。 EventWaitHandle类 异步TCP应用编程 TcpListener类 1) BeginAcceptTcpClient:开始一个异步操作接受一个传入的连接尝试。
您可能关注的文档
- 概率论与数里理统计_Chapter_1习题解答.ppt
- 360品牌管家核心模型.ppt
- 需求分析与系统设计文档(龚家骧).ppt
- 关爱乐助自强-叶雄.ppt
- 第2章(2) TMS320C54xx的封装_引脚_基本硬件设计.ppt
- 潛在客戶開發与管理-进阶课程.ppt
- 第二篇国际结算方式——信用证(第六章)下.ppt
- 06s胆碱能受体阻断药.ppt
- 青少版新概念英语课件.ppt
- 第一章电子商务安全导论(修改).ppt
- 养老评估师中级行为面试题库及案例分析.docx
- 面试培训督导时考察其课程理解能力的题目.docx
- 税务专员面试中关于增值税政策的常见问题解答.docx
- 2025宁波市医疗保障局局属事业单位宁波市医疗保障基金管理中心招聘事业编制工作人员1人备考试题附答案.docx
- 2025咸宁市汉口银行咸宁嘉鱼支行招聘笔试历年题库附答案解析.docx
- 2025北京人才发展战略研究院招录笔试备考题库附答案.docx
- 2025四川成都市龙泉驿区青台山中学校秋季教师招聘22人笔试试题附答案解析.docx
- 2025台州市银龄讲学计划教师招募13人笔试参考试题附答案解析.docx
- 2025中国铁建公开招聘42人笔试题库附答案.docx
- 2025中智咨询研究院社会招聘笔试参考题库附答案.docx
原创力文档


文档评论(0)