基于tcpip的多线程通信及其在远程监控系统中的应用.pdfVIP

  • 1
  • 0
  • 约1.01万字
  • 约 5页
  • 2020-11-14 发布于四川
  • 举报

基于tcpip的多线程通信及其在远程监控系统中的应用.pdf

基于 TCPIP的多线程通信及其在 远程监控系统中的应用 基于 TCP/IP 的多线程通信及其在远程监控系统中的应用 文章出处:上海交通大学自动化研究所( 200030 )王金廉 谢剑英 贾 发布时间: 2007/09/25 | 1280 次阅读 | 1 次推荐 |0 条留言 业界领先的 TEMPO 评估服务每天新产品 时刻新体验 IC 分销商如何选择管理软件 摘 要: 提出了一种在 Windows NT 下基于 TCP/IP 协议的多线程通信的设计与实现方法,在此基础上给出了多线程通信在蓄 电池远程 监控系统 中的应用实例。 关键词: 多线程 实时性 TCP/IP 协议 远程监控系统 传统的应用程序都是单线程的,即在程序运行期间,由单个线程独占 CPU的控制权,负责执行所有任务。在这种情况下,程序在执行 一些比较费时的任务时,就无法及时响应用户的操作,影响了应用程序的实时性能。在监控系统,特别是远程监控系统中,应用程序往往不但要及 时把监控对象的最新信息反馈给监视客户(通过图形显示),还要处理本地机与远程机之间的通信以及对控制对象的实时控制等任务,这时 ,仅 仅由单个线程来完成所有任务,显然无法满足监控系统的实时性要求。在 DOS系统下,这些工作可以由中断来完成。而在 Windows NT 下,中断机 制对用户是不透明的。为此,可引进多线程机制,主线程专门负责消息的响应,使程序能够响应命令和其他事件。辅助线程可以用于完成其他比较 费时的工作,如通信、图形显示和后台打印等,这样就不至于影响主线程的运行。 1 Windows NT 多线程概述 Windows NT 是一个真正的抢占式多任务操作系统。在 Windows NT 中,启动一个应用程序就是启动该应用程序的一个实例,即进程。 进程由一个或多个线程构成, 拥有内存和资源, 但自己不能执行自己, 而是进程中的线程被调度执行。 进程至少要有一个线程, 当创建一个进程时, 就创建了一个线程,即主线程。主线程可以创建其他辅助线程,由主线程创建的线程又可创建线程。每个线程都可指定优先级,操作系统根据线程 的优先级调度线程的执行。 Windows NT 中使用多线程的方法有三种: · 使用 C 多线程库函数; · 使用 CreateThread() 等 Win32 函数; · 使用 MFC类。 本文采用第三种方法。在 Visual C++5.0 中, MFC应用程序用 CWinThread 对象表示线程。基本操作如下: · 创建新线程:调用 MFC全局函数 AfxBeginThread ()创建新线程。 AfxBeginThread ()启动新线程并返回控制,然后,新线 程和调用 AfxBeginThread ()的线程同时运行。它的返回值为指向 CWinThread 对象的指针; · 暂停/恢复线程:调用 CWinThread 类成员函数 SuspendThread ()暂停线程的运行,调用 ResumeThread ()成员函数恢复线 程的运行; · 终止线程:在线程内部可调用全局函数 AfxBeginThread ()终止线程的运行,否则,线程执行结束后,线程自动从线程函数 返回并释放线程占有的资源。 2 基于 TCP/IP 的多线程编程 TCP/IP 是 lnternet 上广泛使用的一种协议,可用于异种机 之间的互联。 TCP/IP 协议本身是非常复杂的,然而在网络编程中,程序 员不必考虑 TCP/IP 的实现细节,只需利用协议的网络编程接口 SOCKET.htm target=_blank title=Socket 货源和 PDF 资料 Socket (亦称套接字)即可。在 Wind

文档评论(0)

1亿VIP精品文档

相关文档