- 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是一个抢先式多任务操作系统。所谓多任务是指它可以允许多个进程同时运行,而每个进程又由一个或多个线程组成,这些线程也可以同时运行,所谓抢先是指操作系统可以在任何时候挂起当前进程或线程的执行,把CPU控制权转交给别的进程或线程继续执行。 在操作系统中,一个进程通常就是一个运行着的程序,它可以由一个或多个模块组成,每个模块通常对应磁盘上的一个文件,如EXE或DLL文件。而一个线程通常就是这个程序中可以并行运行的某一个全局函数。本章将讲述进程和线程的使用方法。 * 进程 进程的优先级 一个进程(process)是应用程序的一个运行实例,进程并不一定都有窗口或显示在屏幕上,每个进程都有自己的内存空间、代码、数据和系统资源。一个进程在运行的过程中创建的资源随着进程的终止而被销毁,分配的系统资源在进程终止时被释放或关闭。 在Windows系统中,对每个进程可设置不同的优先级,Windows系统内部的调度程序根据进程的优先级来酌情分配CPU时间以使进程运行。一般情况下,进程优先级应被设置成标准级NORMAL_PRIORITY_CLASS,教材表14-1是Windows定义的进程优先级类型。 * 进程 启动进程 CreateProcess() 该函数是基本的启动进程函数,其函数原型定义如下: BOOL CreateProcess( LPCTSTR lpApplicationName, LPTSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCTSTR lpCurrentDirectory, LPSTARTUPINFO lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation ); * 进程 CreateProcess示例 以下程序代码启动注册表程序: STARTUPINFO si; PROCESS_INFORMATION pi; ZeroMemory( si, sizeof(si) ); si.cb = sizeof(si); ZeroMemory( pi, sizeof(pi) ); if(!CreateProcess(NULL,regedit,NULL,NULL,FALSE,0,NULL,NULL,si,pi)) { AfxMessageBox( 建立进程失败! ); } * 进程 WinExec()启动进程 该函数内部调用CreateProcess()启动进程,其原型定义如下: UINT WinExec(LPCSTR lpCmdLine,UINT uCmdShow); 参数lpCmdLine为命令行参数。 参数uCmdShow为窗口的样式,该值用于ShowWindow (HWND hwnd, int nCmdShow)中的nCmdShow来显示窗口,参见本书“1.3简单的Windows程序介绍”一节内容。 以下程序代码启动注册表程序: if(WinExec(regedit.exe,SW_SHOWNORMAL)) { AfxMessageBox( 建立进程失败! ); } C/C++语言中的启动进程函数启动进程 * 进程 进程的管理 取得当前进程的句柄及ID GetCurrentProcess DuplicateHandle GetCurrentProcessID 取得其它进程的句柄及ID CreateToolhelp32Snapshot Process32First Process32Next OpenProcess * 进程 取得和设置进程的优先级 取得进程优先级,hProcess为目标进程句柄: DWORD GetPriorityClass(HANDLE hProcess); 设置进程优先级,hProcess为进程句柄:dwPriorityClass为进程新的优先级: DWORD SetPriorityClass(HANDLE hProcess, DWORD dwPriorityClass); 终止进程 在一进程任务完成后,可以调用函数ExitProcess()结束进程: VOID ExitProcess(UINT uExitCode) 函数TerminateProcess() 可以结束调用进程和其它
您可能关注的文档
- Protel99 SE 电路设计及应用第3章 PCB设计预备知识.ppt
- Protel99 SE 电路设计及应用第5章 电路板的布局、布线 改word03.ppt
- Protel99 SE 电路设计及应用第8章 基于multisim的电路分析.ppt
- Python语言实用教程第1章 Python概述.ppt
- Python语言实用教程第2章 语言基础.ppt
- Python语言实用教程第3章 选择与循环.ppt
- Python语言实用教程第4章 Python序列.ppt
- Python语言实用教程第5章 函数与模块.ppt
- Python语言实用教程第6章 面向对象程序设计.ppt
- Python语言实用教程第7章 文件.ppt
- VC++程序第15章 手机开发基础.ppt
- Verilog HDL与FPGA数字系统设计ch01-数字逻辑设计基础.ppt
- Verilog HDL与FPGA数字系统设计ch02-Verilog HDL入门.ppt
- Verilog HDL与FPGA数字系统设计ch03-Verilog HDL基础与组合电路建模.ppt
- Verilog HDL与FPGA数字系统设计ch04-时序逻辑电路建模.pptx
- Verilog HDL与FPGA数字系统设计ch07_Quartus91_DE0使用.ppt
- Verilog HDL与FPGA数字系统设计ch09_ 时序分析与逻辑优化.ppt
- VFP实用第1章 VFP应用入门.ppt
- VFP实用第2章 VFP应用基础.ppt
- VFP实用第3章 VFP的表.ppt
最近下载
- (11)--1.2.1 植物细胞的繁殖-有丝分裂.ppt VIP
- 2025年招生和对口招生文化素质测试数学试题及参考答案 完整版912.pdf VIP
- 广东省广州第六中学2024-2025学年高一上学期期中考试化学试题.docx VIP
- 大学物理1-1质点运动的描述.pptx VIP
- 征途漫漫,唯有奋斗——博物馆里的抗战教育:中国人民抗日战争纪念馆.pptx VIP
- 中国机长观后感中国机长观后感范文.pdf VIP
- 2024年浙江省温州市《保安员证》考试题库含答案统编版 .pdf VIP
- 管理心理学:理论与实践.pptx
- 课题申报书:基于生成式人工智能的医学教育创新融合途径研究.docx VIP
- 面向人工智能应用的语料数据生态构建与治理研究.docx VIP
文档评论(0)