1 / 21
文档名称:

8 进程与线程.ppt

格式:ppt   页数:21
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

8 进程与线程.ppt

上传人:中国课件站 2011/10/11 文件大小:0 KB

下载得到文件列表

8 进程与线程.ppt

文档介绍

文档介绍:第8章进程与线程
Win32操作系统平台提供了强大的多任务功能,其中“进程”(Process)和“线程”(Thread)是其控制多任务的两个重要概念。早期的Windows ,而Windows 95/NT实行的是抢占式多任务。
在Win 32(Windows 95/NT)中,每一个进程可以同时执行多个线程,这意味着一个程序可以同时完成多个任务。对于象通信应用程序那样的既要进行耗时的工作,又要保持对用户输入响应的应用来说,使用多线程是最佳选择。当进程使用多个线程时,需要采取适当的措施来保持线程间的同步。
进程与子进程
进程(process)是计算机操作系统中的概念。进程可以理解为:程序在给定的初始状态和内存区域中,能共行执行的一次“计算”,亦即,进程是可以和其它程序共行执行的,程序的一次执行。进程有独自的内存空间、程序代码、信息以及一堆大大小小的系统资源。另外,进程之间也有父子关系,产生进程的进程是“父进程”,被产生的进程是“子进程”,通常父进程对子进程有控制权,同时子进程也可以存取父进程的资源。
创建子进程API函数
下面介绍一个很重要的函数,即CreateProcess函数,其原型为:
BOOL CreateProcess(LPCTSTR lpApplicationName, LPTSTR mandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCTSTR lpCurrentDirectory, LPSTARTURINFO lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation);
CreateProcess() 的功能是建立并执行child process。
其它函数
本节将介绍一些可以协助我们取得process相关信息的函数。第一组要介绍的是最重要的GetCurentProcess()GetCurrentProcessId(), 前者会返回目前正在执行的process(也就是调用者)的handle, 后者会返回调用者的id。Handle和id有什么不同呢?id只是一个数字, Win32保证不会有第二个在系统中执行的process拥有相同的id, 因此,这个数字通常用来鉴别process的身份; process handle可就重要了, 因为其他与process有关的函数都需要它来当参数。
l         HANDLE GetCurrentProcess(VOID);
l         DWORD GetCurrentProcessId(VOID);
DWORD GetPriorityClass(HANDLE hProcess);
BOOL SetPriorityClass(HANDLE hProcess, DWORD dwPriorityClass);
结束process
如果某个process想停止执行, 可调用ExitProcess(), 不过我们通常不直接调用它, 而是调用C程序库中的exit(), exit()在自动执行一些清除垃圾的工作之后, 再调用ExitProcess()。
VOID ExitProcess(UNT uExitCode);
不过, 如果process A 想要迫使process B 停止执行, 可以在取得process B 的handle 之后, 调用TerminateProcess():
BOOL TerminateProcess(HANDLE hProcess, UNIT uExitCode);
进程与线程
前一节我们讨论了进程和子进程的有关概念和编程技术,实际上在Windows 操作系统环境中,Microsoft提出了线程是更具有挑战性的编程概念。在Windows 32位操作系统中,所谓多任务是指系统可以同时运行多个进程,而每个进程也可以同时执行多个线程。所谓进程就是应用程序的运行实例。一个进程又可以分为多个线程,根据线程的运行特征,我们可以把它看成是操作系统分配CPU时间的基本实体。
Win16 的协同多任务
早在16位的Windows中,应用程序具有对CPU的控制权。只有在调用了GetMessage、PeekMessage、WaitMessage或Yield后,程序才有可能把CPU控制权交给系统,系统再把控制权转交给别的应用程序。如果应用程序在长时间内无法

最近更新

2025年山西财经大学马克思主义基本原理概论期.. 13页

2025年广东省佛山市单招职业适应性考试题库带.. 44页

2025年彭水苗族土家族自治县幼儿园教师招教考.. 30页

2025年新乡职业技术学院马克思主义基本原理概.. 13页

2025年旬阳县幼儿园教师招教考试备考题库附答.. 31页

2025年林芝县幼儿园教师招教考试备考题库含答.. 30页

蔬果种植土壤重金属检测规范 61页

2025年江汉艺术职业学院马克思主义基本原理概.. 13页

2025年河北经贸大学马克思主义基本原理概论期.. 12页

2025年泸定县幼儿园教师招教考试备考题库含答.. 31页

2025年浙江金华科贸职业技术学院单招职业适应.. 43页

2025年湖北生态工程职业技术学院单招职业适应.. 43页

2026年中医住培带教师资理论考核题库100道带答.. 39页

2025年白银矿冶职业技术学院单招职业适应性考.. 46页

2025年竹溪县幼儿园教师招教考试备考题库含答.. 31页

2026年网络安全知识竞赛题库(精选题) 40页

新安全生产法知识竞赛试题库【巩固】 44页

2025年重庆师范大学马克思主义基本原理概论期.. 12页

2026年主管中药师考试备考题100道及答案【有一.. 38页

2026年医学微生物学习题集含答案(完整版) 40页

2026年安徽工业经济职业技术学院单招职业技能.. 44页

2026年宪法知识竞赛试题库100道附答案【典型题.. 41页

2026年浙江机电职业技术学院单招职业倾向性测.. 45页

最新全国政法队伍教育整顿知识竞赛试题库及答.. 40页

新安全生产法知识竞赛试题库带答案(黄金题型.. 43页

最新全国政法队伍教育整顿知识竞赛试题库有答.. 40页

浅析初中信息技术培养学生创新能力的方法 33页

2025年凝血分析仪器项目建议书 58页

2025年储罐设备合作协议书 51页

2026年安徽城市管理职业学院单招职业适应性考.. 37页