当前流行的Windows操作系统能同时运行几个程序独立运行
Windows 操作系统(answer)

第2章W i n d o w s操作系统一、填空题1.Windows XP是系统软件,是 32位桌面操作系统,其中XP作为Experience的缩写。
2.Windows XP可以同时运行多个应用程序的特性称为多任务。
3.在Windows XP安装过程中需要 2 次重新启动计算机。
4.在Windows XP中,要安装组件,应运行控制面板中的添加或删除程序。
5.在Windows XP中,?表示Windows不能识别,!表示有冲突。
6.在Windows XP中,要查看系统冲突,应在“系统属性”对话框中选择硬件选项卡。
7.Windows XP支持的文件系统有 FAT16 、 FAT32 和 NTFS 。
8.在Windows XP中,保存文件的最小磁盘空间是簇。
9.文件系统是指硬盘上存储文件信息的格式。
从DOS到Windows 文件系统经历了由 FAT 向 NTFS 的变化。
10.在Windows XP中,FAT16文件系统簇的大小为 64KB 、FAT32文件系统簇的大小为 16KB 、NTFS文件系统簇的大小为 4KB 。
11.在Windows XP中,FAT文件系统文件最大可为 4GB 、NTFS文件系统文件最大可为 64GB 。
12.在Windows XP中,FAT文件系统最大分区可为 4GB 、NTFS文件系统最大分区可为 2TB 。
13.在Windows XP中,FAT文件系统可设置的文件属性有只读、隐藏、存档。
14.在Windows XP中,NTFS文件系统可设置的文件属性有只读、隐藏、存档、索引、压缩、加密。
15.Windows XP提供的 Convert 命令可以将FAT分区转化为NTFS分区。
16.在Windows XP“注销Windows”对话框中,可以设置切换用户和注销。
17.在Windows XP “注销Windows”对话框中, 下列图标的含义是:切换用户注销18.退出Windows XP时,在“关闭计算机”对话框中的3个选项分别是:待机、关闭和重新启动。
张福炎《大学计算机信息技术教程》课后自测题

张福炎教授编著的《大学计算机信息技术教程》课后自测题第1章信息技术概述一、判读题1.信息处理指的是与信息的收集、传递、加工、存储和施用相关的行为和活动,信息技术则泛指用来扩展人们信息器官功能、协助人们更有效地进行信息处理的一类技术。
2.集成电路把成千上万甚至以亿计的晶体管等电子元件制作在指甲大小的晶片上,其工艺水平目前已经达到纳米级水平。
3.非接触式IC卡依靠卡片中的微型电池供电,操作使用非常方便。
二、单选题1.假设两个8位的二进制信息A=1001 0011,B=1100 1100,下面是A、B进行逻辑运算的结果,其中错误的是:A.A∧B = 1000 0000B.A∨B = 1101 1111C.NOT(A)∧B∨A∧NOT(B) = 0101 1001D.NOT(A)∧NOT(B)∨A∧B = 1010 00002.数据通信中数据传输速率是最重要的性能指标之一,它指单位时间内传送的二进位数目,计量单位Gb/s的正确含义是:A.每秒兆位B.每秒千兆位C.每秒百兆位D.每秒百万位3.下面关于比特的叙述中,错误的是:A.比特是组成数字信息的最小单位B.比特只有“0”和“1”两个符号C.比特既可以表示数值和文字,也可以表示图像和声音D.比特“1”大于比特“0”4.使用存储器存储二进位信息时,存储容量是一项很重要的性能指标。
存储容量的单位有多种,下面哪一种不是存储容量的单位?A.XBB.KBC.GBD.MB5.与十六进制数BCH等值的八进制数是:A.273B.274C.314D.3136.无符号整数是计算机中最常使用的一种数据类型,其长度(位数)决定了可以表示的正整数的范围。
假设无符号整数的长度是12位,那么它可以表示的正整数的最大值(十进制)是:A.2048B.4096C.2047D.4095三、填空题1.数字技术中,信息组成的最小单位是______。
2.现代信息技术的核心是______。
3.在CPU中,比特是存储在一种称为“______”的双稳态电子线路中。
计算机操作系统简介

计算机操作系统简介计算机操作系统简介⼀、为什么要有操作系统 现代的计算机系统主要是由⼀个或多个处理器、主存、硬盘、键盘、显⽰器、打印机、⽹络接⼝及其他输出设备组成的。
现代计算机系统是⼀个⾮常复杂的系统,程序员不可能掌握该系统所有的细节,这样会严重影响程序员的开发效率,根本没有时间去编写代码。
管理计算机的这些部件并加以优化使⽤,是⼀件极富挑战的⼯作,于是,计算机安装了⼀层软件,即系统软件,称为操作系统。
他的任务就是为⽤户程序提供⼀个更好、更简单、更清晰的计算机模型,并管理刚才提到的所有设备。
作为程序员,不可能把所有的硬件操作细节都了解并掌握,管理这些硬件并且加以使⽤是⾮常繁琐的⼯作,这部分的⼯作就是操作系统来做的。
有了操作系统,程序员就能够从这些繁琐的⼯作中解脱出来,只需要考虑⾃⼰的应⽤软件的编写就可以了,应⽤软件直接使⽤操作系统提供的功能来间接使⽤硬件。
⼆、什么是操作系统 操作系统就是⼀个协调、管理和控制硬件资源和软件资源的控制程序。
操作系统的位置: 操作系统位于计算机应⽤与应⽤软件之间,本质上也是⼀个软件。
操作系统有操作系统的内核(运⾏于内核态,管理硬件资源)以及系统调⽤(运⽤于⽤户态,为⽤户程序员写的应⽤程序提供系统调⽤接⼝)两部分组成。
所以,单纯的说操作系统是运⾏于内核态的,是不准确的。
操作系统可分为两部分功能: 1、隐藏了丑陋的硬件调⽤接⼝,为应⽤程序员提供调⽤硬件资源的更好、更简单、更清晰的模型(系统调⽤接⼝)。
应⽤程序员有了这些接⼝后,就不⽤再考虑操作硬件的细节,专⼼开发⾃⼰的应⽤程序即可; ⽐如,磁盘资源的抽象是⽂件系统(C盘、D盘、E盘....下的⽬录及⽂件),有了⽂件的概念,我们直接打开⽂件、读或者写就可以了,⽆需关系记录是否应该使⽤修正的调频记录⽅式,以及当前电机的状态等细节。
操作系统的实际客户是应⽤程序(应⽤程序员负责开发应⽤程序,因⽽也可以说应⽤程序员是操作系统的客户)。
信息化考试题库

一、选择题〔10题,每题1分〕1、正确退出Windows XP操作系统的方法是:A 开场→关闭计算机B 拔掉电源C 直接关电源D 关闭显示器2、计算机病毒是一种〔〕A 人为编制的特程序B 特殊的计算机部件C 游戏软件D 能传染的生物病3、以下〔〕软件可用于查杀计算机病毒。
A KV300 和瑞星B WPS 和KILLC WORD 和KV300 D WPS 和WORD4、目前流行的 E-mail 指的是( )。
A 电子邮件B 电子商务C 电子设备D 电子通讯5、关于制止一机两用不正确的说法是:A 不许将运行公安应用系统的效劳器连入国际互联网或者其它网络,但普通PC机不受限制。
B 不许将计算机在连入公安网络的同时,又通过专线、代理效劳器或者拨号入网等方式连入国际互联网或者其它网C 不许将未经杀毒处理过的、保存有从国际互联网或者其他网络下载数据资料的软盘、光盘、活动硬盘、硬盘等存储设备在连入公安信息网的计算机上使用。
D 不许将公安信息网直接连入国际互联网及其他网络或者将公安信息数据传输到国际互联网或者其他网络。
6、各级公安机关信息通信部门发现 "一机两用"情形的,应当在〔〕内将有关材料移交同级纪检监察部门,纪检监察部门应当及时将查处结果及责任追究情况反应给信息通信部门。
A 2 日7、登录公安部人口信息查询系统应采用以下哪种方式?A 数字身份证书方式访问B 口令方式访问C 匿名方式访问D 指纹认证方式访问8、某民警在法定年龄退休后,其持有的数字身份证书应如何处理?A 交由本级单位的证书制作部门处理B 由个人自行处理C 由民警所在部门处理D 交由公安部处理9、未经审查和批准,从其他信息网络直接下载、转发、粘贴信息到公安信息网,造成病毒感染或者其他不良后果的,赋予何种处分;后果特殊严重的,赋予何种处分?A 行政警告处分;记过以上处分B 通报批评;降级处分C 通报批评;记大过处分D 记大过处分;降级处分10、以下哪种软件允许在公安网计算机上安装使用?A 公安数字身份证书驱动软件B 迅雷下载软件C 帝国时代游戏软件D 腾讯聊天软件11、从U盘或者挪移硬盘中删除文件是将文件〔〕A 彻底删除,而不是放到回收站中,无法从回收站中恢复B 放到回收站中,可以从回收站上恢复C 放到硬盘上D 放到内存中,是否放入回收站需要进一步操作12、以下关于计算机安全操作中不正确的选项是?A 只为计算机设置一个帐户,防止多人多帐户使用B 对计算机管理员帐户设置复杂密码,防止被人破解。
计算机基础知识判断题

1.函授学校电子信箱school@,在@之前的school是收件人的名字,在@之后是school所在的邮箱服务器的地址 (√)2.雅虎是著名搜索引擎之一,只面向中文网民提供服务 (×)3.1999年联想电脑公司开发了WPS2000集成办公系统 (×)4.上网速度取决于所用的MODEM,MODEM速度越快,上网速度也越快 (×)5.由于因特网上的IP地址是唯一的,所以人只能有一个Email帐号 (×)6.黑客侵入他人系统体现高超的计算机操作能力,我们应向他们学习 (×)7.我们用哪部电话申请上网帐号,只能用这部电话上网 (×)8.ISP即Internet服务商,国内最大的ISP服务商是电信局 (√)9.只要对方先发E-mail给我,我就可以回E-mail给他。
(√)10.CIH病毒通过修改CMOS破坏计算机硬件,只要我们修改计算机的系统日期跳过26日,CIH病毒就不会发作 (√)11.WINDOWS98桌面背景只能是WINDOWS98提供的图案 (×)12.WINDOWS可以无限制地设置屏幕的分辨率,而跟你的硬件无关 (×)13.只要安装了WINDOWS98,就直接可以用任何一种牌号的打印机打印 (×)14.因特网将向:商用化、保密性、宽带传输三个方向发展 (√)15.用户可通过远程(TELNET)命令使自己的计算机暂时成为远程计算机的终端,直接调用远程计算机的资源和服务 (√)16.目前WINDOWS98是最流行的操作系统,全球的微机都采用WIDNOWS98 (×)17.WINDOWSxp下的任务栏只能出现在屏幕下方,不能随意移动 (×)18.用户利用文件传输协议(FTP)可在两个联网的计算机之间传输文件,它是因特网传递文件最主要的方法 (√)19.用户可使用匿名(Anonymous)FTP免费获取因特网上丰富的资源 (√)20.因特网上的每台主机(HOST)都不止有一个IP地址 (×)21.TCP/IP有100多个协议,其中TCP负责信息的实际传送,而IP保证所传送的信息是正确的 (×)22.最高域名COM指商用机构 (√)23.WINDOWSxp中的鼠标只能由系统给出,不能更换 (×)24.我们可以随意更换WINDOWSxp的屏幕保护程序 (√)25.只要有WINDOWSxp安装光盘,我们可以随意装/卸WINDOWSxp的组件 (√)26.在WINDOWSxp中删除了硬盘上的一个文件就不能恢复 (×)27.最高域名gov政府部门 (√)28.在WINDOWSxp中删除了软盘上的一个文件仍可以恢复 (×)29.最高域名mil指军事部门 (√)30.在WINDOWSxp中,按Ctrl+'空格'键可以打开输入法,这热键不能改变 (×)31.最高域名org指盈利组织 (×)32.在WINDOWSxp中,我们可以随意更改“开始”的“程序”菜单 (√)33.万维网(WWW)是因特网的图形和多媒体部分 (√)34.在IE中,“向后”按钮指的是移到上次查看过的Web页 (√)35.在IE中,“历史”按钮指的是显示最近访问过的站点列表 (√)36.最高域名edu指教育部门 (√)37.最高域名int指国际机构 (√)38.最高域名net指网络机构 (√)39.当你需要修改密码时,需输入用户和服务器名才可以修改密码 (×)40.当你在网上修改密码时,密码可以全部由字母组成 (×)41.网上计费查询时,依次输入帐号、主机、查询日期即可查询 (√)42..电子信箱是唯一的,全世界一定不可能出现二个相同的电子信箱。
《信息技术与信息安全》单项选择题题库

《信息技术与信息安全》公需科目单项选择题题库1.(2分)网页恶意代码通常利用()来实现植入并进行攻击。
A. 拒绝服务攻击B. 口令攻击C. IE浏览器的漏洞D. U盘工具你的答案:A B C D得分:2分2.(2分)涉密信息系统工程监理工作应由()的单位或组织自身力量承担。
A. 具有信息系统工程监理资质的单位B. 具有涉密工程监理资质的单位C. 保密行政管理部门D. 涉密信息系统工程建设不需要监理你的答案:A B C D得分:2分3.(2分)全球著名云计算典型应用产品及解决方案中,亚马逊云计算服务名称叫()。
A. AWSB. SCEC. AzureD. Google App你的答案:A B C D得分:2分4.(2分)在信息安全风险中,以下哪个说法是正确的?()A. 风险评估要识别资产相关要素的关系,从而判断资产面临的风险大小。
在对这些要素的评估过程中,需要充分考虑与这些基本要素相关的各类属性。
B. 安全需求可通过安全措施得以满足,不需要结合资产价值考虑实施成本。
C. 风险评估要识别资产相关要素的关系,从而判断资产面临的风险大小。
在对这些要素的评估过程中,不需要充分考虑与这些基本要素相关的各类属性。
D. 信息系统的风险在实施了安全措施后可以降为零。
你的答案:A B C D得分:2分5.(2分)在网络安全体系构成要素中“恢复”指的是()。
A. A和BB. 恢复数据C. 恢复系统D. 恢复网络你的答案:A B C D得分:2分6.(2分)目前,针对计算机信息系统及网络的恶意程序正逐年成倍增长,其中最为严重的是()。
A. 木马病毒B. 系统漏洞C. 僵尸网络D. 蠕虫病毒你的答案:A B C D得分:2分7.(2分)政府系统信息安全检查由()牵头组织对政府信息系统开展的联合检查。
A. 安全部门B. 信息化主管部门C. 公安部门D. 保密部门你的答案:A B C D得分:2分8.(2分)黑客在攻击中进行端口扫描可以完成()。
计算机基础判断题

1、主频(时钟频率)是影响微机运算速度的重要原因之一。
主频越高,运算速度越快。
(T)2、C语言编译系统是应用软件(F)3、操作系统是对计算机硬件和软件资源管理的系统软件(T)4、操作系统也是一种软件(F)5、计算机软件系统分为操作系统和应用软件(F)6、计算机软件是程序、数据和文档资料的集合(T)7、外存储器中的数据可以直接进入CPU进行处理(F)8、软盘驱动器属于主机,而软盘属于外部设备(F)9、裸机是指没有配置任何外部设备的主机(F)10、计算机的内外存储器都具有记忆能力,其中的信息都不会丢失(F)11、在汉字系统中,我国国标汉字一律是按照拼音顺序排列的(F)12、控制总线是传送控制信号的,包括CPU送到内存和接口电路的读写信号,中断信号等(T)13、计算机中最小的数据单元是字节(F)14、40倍速光驱的含义是指该光驱的读写速度是软盘驱动器读写速度的40倍(F)15、没有硬盘计算机照样可以工作(T)16、ROM是只读存储器,其中的内容只能读出一次(F)17、目前流行显卡的接口类型有AGP和PCI-E两种类型(T)18、微处理器的主要性能指标是其体积的大小(F)19、微型计算机系统由主机和外设组成(F)20、语言处理程序是把用一种程序设计语言表示的程序转化为与之等价的另一种程序设计语言表示的程序(T)21、分辨率是显示器的一个重要指标,它表示显示器屏幕上像素的数量。
像素越多,分辨率越高,显示的字符或图像就越清晰逼真(T)22、内存储器存储单元的数目多少取决于数据的总线宽度。
(F)23、ROM中存储的信息断电即消失(F)24、逻辑运算的三种基本运算是逻辑加、逻辑或、逻辑否定(F)25、UNIX是一种多用户单人舞的操作系统(F)26、一个完整的计算机系统应包括硬件系统和软件系统(T)27、硬盘通常安装在主机箱内,所以硬盘属于内存(F)28、视频采集卡不是多媒体计算机的主要特征(T)29、计算机的中的字符一般采用ASCII码编码方式,若已知“H”的ASCII码值为48H,则可能推断出“J”的码值为50H(F)30、十进制数875对应的二进制数为1101101011B(T)31、DOS是单任务单用户的操作系统(T)32、汇编语言和AutoCAD都属于系统软件(F)33、计算机内部常用字节作为基本单位,一个字节是16个二进制位(F)34、绘图仪和扫描仪都属于微机的输出设备(F)35、决定计算机计算精度的主要技术指标是计算机的存储容量(F)36、防止U盘感染病毒的有效办法是加写保护(T)37、对U盘进行全面的格式化也不一定能消除U盘上的计算机病毒(F)38、打印机只能打印字符和表格,不能打印出图形(F)39、U盘硬盘上的数据均可由CPU直接存取(F)40、CD-ROM是可擦写光盘(F)41、操作系统是把刚输入的数据或程序存入RAM中,为防止信息丢失,用户在关机前,应先将信息保存在ROM中(F)42、汇编语言和机器语言都属于低级语言,之所以称为低级语言是因为用它们编写的程序可以直接被计算机识别执行(F)43、微型计算机中使用最普遍的字符编码是ASCII码(T)44、用汉字输入法输入汉字时,只能单个字输入,不能输入词组(F)45、计算机辅助制造的英文缩写为CAI(F)46、电子计算机的计算速度很快但计算精度不高(F)47、计算机中数值型数据和非数值型数据均以二级制数据形式储存(T)48、计算机主要应用于科学计算、信息处理、过程控制、辅助系统、通信等领域(T)49、64为微型计算机中的“64”指的是“字长”(T)50、存储器分为只读存储器和随机存储器(F)51、外码是用于将汉字输入计算机而设计的汉字编码(T)52、嫉妒三年级不断有计算功能,还有逻辑判断功能(T)53、电子计算机区别于其他计算工具的本质特点是能够存储程序和数据(T)54、显示器屏幕上显示的信息,既有用户输入的内容又有计算机输出的结果,所以显示器既是输入设备又是输出设备(F)55、十进制数的11,在十六进制中扔表示成11(F)56、CAD系统是指利用计算机来帮助设计人员进行设计工作的系统(T)57、计算机中“存储程序”的概念是由图灵提出的(F)58、计算制中使用的数码个数被称为基数(T)59、计算机的原码和反码相同(F)60、计算机断电后,内存储器RAM中的信息都会全部丢失(T)61、世界上第一台电子计算机是1946年在美国研制成功的,英文简称是EMINC(F)62、计算机中用来表示内存容量大小的最基本单位是位(F)63、M字节是计算机中用来表示内存容量大小的一个单位(T)64、利用Windows的剪贴板可以把当前屏幕复制下来(T)65、文档窗口最大化后将沾满整个桌面(F)66、图标也是一个窗口(F)67、Windows7中的文件夹不能用DOS方式下的删除命令删除(F)68、在Windows7的“计算机”中不能查看磁盘的剩余空间(F)69、Windows7的“计算机”和“资源管理器”中的查看菜单的项目和功能相同(F)70、在Windows7的许多应用程序中,文件菜单中的“保存”和“另存为”的功能相同(F)71、在快捷方式被删除后,该应用程序就无法执行了(F)72、在Windows7中,设置屏幕保护程序的目的是减少电耗(F)73、在Windows7中,删除桌面的快捷方式,它所指向的项目也同时被删除(F)74、菜单中带下划线的字母是快捷键,按下Alt键同时按下该字母,可执行该项(T)75、通过“回收站”课回复被删除的文件或文件夹(F)76、在Windows7状态下,每启动一个应用程序都会出现一个窗口(T)77、当一个应用程序窗口被最小化后,该应用程序转入后台执行(T)78、在Windows7中,若未隐藏任务栏,则任务栏永远显示在屏幕上(T)79、Windows的任务栏只能位于桌面的底部)(F)80、在“资源管理器”中,不能打开“控制面板”(F)81、在Windows中,将鼠标指针指向菜单栏,拖动鼠标能移动窗口位置(F)82、在Windows7中,若菜单命令后面带有省略号,则表示该命令有若干个子命令(T)83、双击注册了文件类型的文档,能够启动相应的应用程序并同时该文件打开(T)84、Windows中,回收站实际上是一个特殊的文件夹(T)85、Windows操作系统允许一台计算机同时安装多个打印驱动程序,并和多肽打印机相连,但默认的打印机只有一台(T)86、任务栏上应用程序按钮最小化了的应用程序窗口(T)87、Windows7系统中,用户需要移动窗口时,应将鼠标停留在状态栏处拖拽(F)88、启动Windows7系统后,在桌面上双击多个应用程序快捷图标,可以打开多个窗口,但窗口的排列方式只能层叠。
大计基题库[大学计算机基础]{1}
![大计基题库[大学计算机基础]{1}](https://img.taocdn.com/s3/m/807e08d450e2524de5187e6a.png)
感染过计算机病毒的计算机具有对该病毒的免疫性。
A.Y B.N N 五笔字型输入法是Windows操作系统自身提供的一种汉字输入法。
A.Y B.N N 只要购买最新的杀毒软件,以后就不会被病毒侵害。
A.Y B.N N 世界上第一台计算机的电子元器件主要是晶体管。
A.Y B.N N 在Windows操作系统中,所有被删除文件都可从回收站恢复。
A.Y B.N N CPU与内存的工作速度几乎差不多,增加Chche只是为了扩大内存的容量。
A.Y B.N N 计算机病毒是一种具有自我复制功能的指令序列。
A.Y B.N Y 在word中的普通视图中可看到文档的分栏并排显示效果。
A.Y B.N N未来的计算机将是半导体、超导、光学、仿生等多种技术相结合的产物。
A.Y B.N Y 喷墨打印机是最经济的家用打印机。
A.Y B.N Y 指令是控制计算机工作的命令语言,计算机的功能通过指令系统反映出来。
A.Y B.N Y一个CPU所能执行的全部指令的集合,构成该CPU的指令系统。
每种类型的CPU都有自己的指令系统。
A.Y B.N Y 计算机病毒产生的原因是计算机系统硬件有故障。
A.Y B.N N 现在使用的计算机字长都是32位NA.YB.N所有的十进制数都可以精确转换为二进制数。
A.Y B.N N Excel的数据类型分为数值型、字符型、日期时间型。
A.Y B.N Y 计算机病毒带给用户最主要的危害是降低系统的性能。
A.Y B.N N计算机的发展经历了四代,“代”的划分是根据计算机的运算速度来划分。
A.Y B.N N 计算机的性能不断提高,体积和重量不断加大。
A.Y B.N N 计算机病毒主要以存储介质和计算机网络为媒介进行传播。
A.Y B.N Y 文字、图形、图像、声音等信息,在计算机中都被转换成二进制数进行处理。
A.Y B.N Y“程序存储和程序控制”思想是微型计算机的工作原理,对巨型机和大型机不适用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
当前流行的Windows操作系统能同时运行几个程序(独立运行的程序又称之为进程),对于同一个程序,它又可以分成若干个独立的执行流,我们称之为线程,线程提供了多任务处理的能力。
用进程和线程的观点来研究软件是当今普遍采用的方法,进程和线程的概念的出现,对提高软件的并行性有着重要的意义。
现在的大型应用软件无一不是多线程多任务处理,单线程的软件是不可想象的。
因此掌握多线程多任务设计方法对每个程序员都是必需要掌握的。
本实例针对多线程技术在应用中经常遇到的问题,如线程间的通信、同步等,分别进行探讨,并利用多线程技术进行线程之间的通信,实现了数字的简单排序。
一、实现方法1、理解线程要讲解线程,不得不说一下进程,进程是应用程序的执行实例,每个进程是由私有的虚拟地址空间、代码、数据和其它系统资源组成。
进程在运行时创建的资源随着进程的终止而死亡。
线程的基本思想很简单,它是一个独立的执行流,是进程内部的一个独立的执行单元,相当于一个子程序,它对应于Visual C++中的CwinThread类对象。
单独一个执行程序运行时,缺省地包含的一个主线程,主线程以函数地址的形式出现,提供程序的启动点,如main ()或WinMain()函数等。
当主线程终止时,进程也随之终止。
根据实际需要,应用程序可以分解成许多独立执行的线程,每个线程并行的运行在同一进程中。
一个进程中的所有线程都在该进程的虚拟地址空间中,使用该进程的全局变量和系统资源。
操作系统给每个线程分配不同的CPU时间片,在某一个时刻,CPU只执行一个时间片内的线程,多个时间片中的相应线程在CPU内轮流执行,由于每个时间片时间很短,所以对用户来说,仿佛各个线程在计算机中是并行处理的。
操作系统是根据线程的优先级来安排CPU 的时间,优先级高的线程优先运行,优先级低的线程则继续等待。
线程被分为两种:用户界面线程和工作线程(又称为后台线程)。
用户界面线程通常用来处理用户的输入并响应各种事件和消息,其实,应用程序的主执行线程CWinAPP对象就是一个用户界面线程,当应用程序启动时自动创建和启动,同样它的终止也意味着该程序的结束,进程终止。
工作线程用来执行程序的后台处理任务,比如计算、调度、对串口的读写操作等,它和用户界面线程的区别是它不用从CWinThread类派生来创建,对它来说最重要的是如何实现工作线程任务的运行控制函数。
工作线程和用户界面线程启动时要调用同一个函数的不同版本;最后需要读者明白的是,一个进程中的所有线程共享它们父进程的变量,但同时每个线程可以拥有自己的变量。
2、线程的管理和操作(一)线程的启动创建一个用户界面线程,首先要从类CwinThread产生一个派生类,同时必须使用DECLARE_DYNCREATE和IMPLEMENT_DYNCREATE来声明和实现这个CwinThread派生类。
第二步是根据需要重载该派生类的一些成员函数如:ExitInstance()、InitInstance()、OnIdle ()、PreTranslateMessage()等函数。
最后调用AfxBeginThread()函数的一个版本:CWinThread* AfxBeginThread( CRuntimeClass* pThreadClass, int nPriority = THREAD_PRIORITY_NORMAL, UINT nStackSize = 0, DWORD dwCreateFlags = 0, LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL ) 启动该用户界面线程,其中第一个参数为指向定义的用户界面线程类指针变量,第二个参数为线程的优先级,第三个参数为线程所对应的堆栈大小,第四个参数为线程创建时的附加标志,缺省为正常状态,如为CREATE_SUSPENDED则线程启动后为挂起状态。
对于工作线程来说,启动一个线程,首先需要编写一个希望与应用程序的其余部分并行运行的函数如Fun1(),接着定义一个指向CwinThread对象的指针变量*pThread,调用AfxBeginThread(Fun1,param,priority)函数,返回值赋给pThread变量的同时一并启动该线程来执行上面的Fun1()函数,其中Fun1是线程要运行的函数的名字,也既是上面所说的控制函数的名字,param是准备传送给线程函数Fun1的任意32位值,priority则是定义该线程的优先级别,它是预定义的常数,读者可参考MSDN。
(二)线程的优先级以下的CwinThread类的成员函数用于线程优先级的操作:上述的二个函数分别用来获取和设置线程的优先级,这里的优先级,是相对于该线程所处的优先权层次而言的,处于同一优先权层次的线程,优先级高的线程先运行;处于不同优先权层次上的线程,谁的优先权层次高,谁先运行。
至于优先级设置所需的常数,自己参考MSDN就可以了,要注意的是要想设置线程的优先级,这个线程在创建时必须具有THREAD_SET_INFORMATION访问权限。
对于线程的优先权层次的设置,CwinThread类没有提供相应的函数,但是可以通过Win32 SDK函数GetPriorityClass()和SetPriorityClass ()来实现。
(三)线程的悬挂和恢复CWinThread类中包含了应用程序悬挂和恢复它所创建的线程的函数,其中SuspendThread()用来悬挂线程,暂停线程的执行;ResumeThread()用来恢复线程的执行。
如果你对一个线程连续若干次执行SuspendThread(),则需要连续执行相应次的ResumeThread()来恢复线程的运行。
(四)结束线程终止线程有三种途径,线程可以在自身内部调用AfxEndThread()来终止自身的运行;可以在线程的外部调用BOOL TerminateThread( HANDLE hThread, DWORD dwExitCode )来强行终止一个线程的运行,然后调用CloseHandle()函数释放线程所占用的堆栈;第三种方法是改变全局变量,使线程的执行函数返回,则该线程终止。
下面以第三种方法为例,给出部分代码://////////////////////////////////////////////////////////////////////CtestView message handlers/////Set to True to end threadBool bend=FALSE;//定义的全局变量,用于控制线程的运行;//The Thread Function;UINT ThreadFunction(LPVOID pParam)//线程函数{while(!bend){Beep(100,100);Sleep(1000);}return 0;}/////////////////////////////////////////////////////////////CwinThread *pThread;HWND hWnd;Void CtestView::OninitialUpdate()hWnd=GetSafeHwnd();pThread=AfxBeginThread(ThradFunction,hWnd);//启动线程pThread->m_bAutoDelete=FALSE;//线程为手动删除Cview::OnInitialUpdate();}////////////////////////////////////////////////////////////////Void CtestView::OnDestroy(){bend=TRUE;//改变变量,线程结束WaitForSingleObject(pThread->m_hThread,INFINITE);//等待线程结束delete pThread;//删除线程Cview::OnDestroy();}3、线程之间的通信通常情况下,一个次级线程要为主线程完成某种特定类型的任务,这就隐含着表示在主线程和次级线程之间需要建立一个通信的通道。
一般情况下,有下面的几种方法实现这种通信任务:使用全局变量(上一节的例子其实使用的就是这种方法)、使用事件对象、使用消息。
这里我们主要介绍后两种方法。
(一)利用用户定义的消息通信在Windows程序设计中,应用程序的每一个线程都拥有自己的消息队列,甚至工作线程也不例外,这样一来,就使得线程之间利用消息来传递信息就变的非常简单。
首先用户要定义一个用户消息,如下所示:#define WM_USERMSG WMUSER+100;在需要的时候,在一个线程中调用::PostMessage((HWND)param,WM_USERMSG,0,0)或CwinThread::PostThradMessage()来向另外一个线程发送这个消息,上述函数的四个参数分别是消息将要发送到的目的窗口的句柄、要发送的消息标志符、消息的参数WPARAM和LPARAM。
下面的代码是对上节代码的修改,修改后的结果是在线程结束时显示一个对话框,提示线程结束:while(!bend){Beep(100,100);Sleep(1000);}::PostMessage(hWnd,WM_USERMSG,0,0);return 0;}////////WM_USERMSG消息的响应函数为OnThreadended(WPARAM wParam,LPARAM lParam)LONG CTestView::OnThreadended(WPARAM wParam,LPARAM lParam){AfxMessageBox("Thread ended.");Retrun 0;}上面的例子是工作者线程向用户界面线程发送消息,对于工作者线程,如果它的设计模式也是消息驱动的,那么调用者可以向它发送初始化、退出、执行某种特定的处理等消息,让它在后台完成。
在控制函数中可以直接使用::GetMessage()这个SDK函数进行消息分检和处理,自己实现一个消息循环。
GetMessage()函数在判断该线程的消息队列为空时,线程将系统分配给它的时间片让给其它线程,不无效的占用CPU的时间,如果消息队列不为空,就获取这个消息,判断这个消息的内容并进行相应的处理。
(二)用事件对象实现通信在线程之间传递信号进行通信比较复杂的方法是使用事件对象,用MFC的Cevent类的对象来表示。
事件对象处于两种状态之一:有信号和无信号,线程可以监视处于有信号状态的事件,以便在适当的时候执行对事件的操作。