📄 chap12_5.htm
字号:
<html><head><title>小 结</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><meta name="GENERATOR" content="Microsoft FrontPage 3.0"><link rel="stylesheet" href="../../../cpcw.css"></head><body link="#3973DE" alink="#3973DE" background="../../bg.gif"><div align="center"><center> <table width="85%" border="0"> <tr bgcolor="#FFFFFF"> <td> <div align="center"> <center> </center> </div> <p align="CENTER"><font color="red"><b>小 结</b></font></p> <p align="CENTER"> <font face="Times New Roman" size="4"></font> </p> <p align="JUSTIFY"> 本章重点介绍了Win 32环境下的多线程和串行通信编程。本章的要点如下:</p> <blockquote> <p align="JUSTIFY">Windows 3.x实行的是协同式多任务,应用程序必须“自觉”地放弃CPU控制权,否则系统会被挂起。</p> <p align="JUSTIFY">Windows 95/NT实现了抢先式多任务,应用程序对CPU的控制时间由系统分配,系统可以在任何时候中断应用程序,并把控制权转交给别的程序。</p> <p align="JUSTIFY">在Win 32环境下,每个进程可以同时执行多个线程。线程是系统分配CPU时间片的基本实体,系统在所有线程之间快速切换以实现多任务。</p> <p align="JUSTIFY">由于同一进程的所有线程共享进程的虚拟地址空间、Windows 95的重入问题、MFC在对象级的线程不安全性以及线程之间的协调等原因,多个线程必须同步执行。同步机制是由同步对象和等待函数共同实现的。同步对象主要包括事件、mutex和信号灯,进程和线程句柄、文件和通信设备也可以用作同步对象。</p> <p align="JUSTIFY">在Win 32中,传统的OpenComm、ReadComm、WriteComm、CloseComm等串行通信函数已经过时,WM_COMMNOTIFY消息也消失了。程序应该调用CreateFile打开一个串行通信设备,用ReadFile和WriteFile来进行I/O操作,用WaitCommEvent来监视通信事件。ReadFile、WriteFile和WaitCommEvent既可以同步操作,也可以重叠操作。</p> <p align="JUSTIFY">利用Win 32的重叠I/O操作和多线程特性,程序员可以编写出高效的通信程序。</p> </blockquote> <div align="center"> <center> <table border="0" cellpadding="0" cellspacing="0" width="615"> <tr> <td><a href="chap12_4.htm">上一页</a></td> <td> <p align="right"> </td> </tr> </table> </td> </tr> </table> </center></div></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -