- 1、本文档共30页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 10章 多线程与网络编程初步
教学提示:Windows 是一个支持多任务的操作系统。当在一个程序中需要启动另外一
个程序时,需要用到多进程的编程方式。如果一个进程中有一些相似的任务需要同时推进,
可以为每个任务建立一个线程,从而形成多线程的编程。随着网络技术的广泛应用,网络
编程也越来越受到重视,网络编程主要使用Winsock 技术。
教学目标:掌握进程的创建与终止及相应的管理,了解线程的基本概念,并掌握线程
的创建及使用。能够使用Winsock 进行简单的网络编程。
10.1 Windows 的多任务
Windows 是一个支持多任务的操作系统。现在可以在欣赏电脑播放 CD 音乐的同时,
一边打印文件,一边编辑文件,这在以前的 DOS 操作系统的时候是不可能的。因为 DOS
是一个单用户、单任务的操作系统,一个时间段内只能运行一道程序。而 Windows 环境下
却可以做到这点,这都是得益于 Windows 的多进程处理及多线程处理功能。除了上述所说
的多任务的优点,再来看一下网络应用盛行的当今时代,多任务给我们带来的益处。作为
一个网络服务器,比如搜狐网站,每个时刻都要接收来自客户端的数量巨大的网络服务请
求,如果没有多任务环境的支持,而是处理完一个请求后再处理下一个,这样大家在上网
时就得在自己的机器前坐等其他的请求处理完后再得到响应。但实际情况却非如此,我们
可以随时上网,感觉不到其他人的存在,这就是操作系统的多任务也就是多进程、多线程
机制所带来的优越性。
在 VC 中如何设计一个多任务程序,甚至如何使用这种技术来实现网络应用,这都是
作为程序员首先要关心和掌握的问题。通过本章的学习,相信读者会达到这个目标。
10.2 Windows 的多进程程序设计
进程是由代码,数据和该进程中线程可用的其他系统资源,诸如文件、管道和同步对
象组成。每个进程都有一个私有的虚拟地址空间。一个进程至少包括一个线程(称为主线
程) ,并且每个进程都由主线程开始。在运行过程中可以建立新的执行线程。
例如,如果启动了 Microsoft Word 程序,则在内存中就存在了一个以 winword.exe 为
代码的进程,如果不关闭当前的 Word 程序,又通过开始菜单启动了 Microsoft Word ,则又
开始了一个以 winword.exe 为代码的进程。这两个进程的代码虽然一样,但所处的环境也
就是数据或其他系统资源是不同的,它们是两个不同的进程。如果再启动一个记事本程序,
则系统中又多了一个以 notepad.exe 为代码的进程,现在系统中已经存在了 3 个用户进程。
第 10章 多线程与网络编程初步 ·263 ·
它们在同一段时间内都是向前推进的。
本节主要介绍如何在 VC 中进行多进程的程序设计,主要介绍如何创建新进程、终止
已有进程并设置进程的优先级。
10.2.1 创建新进程
Windows 是以对象的方式来管理进程的,它由 Win32 子系统来创建和维护,并且可以
由此进程的句柄来进行管理。进程的创建一般是在一个进程的线程中调用函数
CreateProcess( )来创建的,这个进程可以和原进程共享资源(例如句柄和变量) ,而且在
Windows 中,这两个进程不存在的父子关系,即使原进程终止后,这个新进程仍然可以继
续执行。
在介绍创建函数之前,先来看几个相关的数据结构。
1. 数据结构
(1) SECURITY_ATTRIBUTES 结构
该结构存放一个对象的安全描述符并指定是否继承返回的句柄。SECURITY_
ATTRIBUTES 结构定义如下。
typedef struct_SECURITY_ATTRIBUTES{
DWORD nLength;
LPVOID lpSecurityDescriptor;
BOOL bInheritHandle;
}SECURITY_ATTRIBUTES
其中成员含义如下。
① nLength :指定该结构大小。
您可能关注的文档
- 堵塞漏洞分析报告.pdf
- 短信猫数据库短信服务器8.0应用文档.doc
- 对称密码基本加密实验.doc
- 对基于SIP协议的VoIP的研究.pdf
- 对某病毒的一次完全逆向分析之旅.pdf
- 多层路由端口映射.doc
- 多功能打印機 - MFC-L2700DW.pdf
- 多功能后视镜凌度HS650B行车记录仪使用说明书.pdf
- 多机共享如何设置网络打印机共享难题.doc
- 多媒体电脑优化·维护·故障排除.pdf
- 第十一章 电流和电路专题特训二 实物图与电路图的互画 教学设计 2024-2025学年鲁科版物理九年级上册.docx
- 人教版七年级上册信息技术6.3加工音频素材 教学设计.docx
- 5.1自然地理环境的整体性 说课教案 (1).docx
- 4.1 夯实法治基础 教学设计-2023-2024学年统编版九年级道德与法治上册.docx
- 3.1 光的色彩 颜色 电子教案 2023-2024学年苏科版为了八年级上学期.docx
- 小学体育与健康 四年级下册健康教育 教案.docx
- 2024-2025学年初中数学九年级下册北京课改版(2024)教学设计合集.docx
- 2024-2025学年初中科学七年级下册浙教版(2024)教学设计合集.docx
- 2024-2025学年小学信息技术(信息科技)六年级下册浙摄影版(2013)教学设计合集.docx
- 2024-2025学年小学美术二年级下册人美版(常锐伦、欧京海)教学设计合集.docx
文档评论(0)