网站大量收购独家精品文档,联系QQ:2885784924

[工学]现代软件开发技术——多线程.ppt

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]现代软件开发技术——多线程

一、进程简介 进程是一个可执行的程序,由私有虚拟地址空间、代码、数据和其他操作系统资源(如进程创建的文件、管道、同步对象等)组成。进程在运行时创建的资源随着进程的终止而死亡。 1、 独立性 进程是系统中独立存在的实体,它可以拥有自己独立的资源,比如文件和设备描述符等。未经进程本身允许,其他进程不能访问到这些资源。 2、动态性 程序只是一个静态的指令集合,而进程是一 个正在系统中活动的指令集合。在进程中加入了时间的概念,进程具有自己的生命周期和各种不同的状态。 3、并发性 并发行由独立性和动态性衍生而来。若干个进程可以在单处理机状态上并发执行。 并发与并行: 并行 指在同一时刻内,有多条指令在多个处理机上同时执行。 并发 指在同一时刻内只能有一条指令执行,但多个进程的指令被快速轮换执行,使得在宏观上具有多个进程同时执行的效果。 一、进程简介 进程状态 进程是一个动态的实体,故而它是有生命的。一般来说,所有进程都要经历以下3种状态。 就绪(ready)态 阻塞(blocked)态 运行态 一、进程简介 进程状态 就绪态 指进程已经获得所有所需的其他资源,并 正在申请处理机资源,准备开始运行。 阻塞态 又称休眠状态或者等待状态。指进程因为 需要等待所需资源而放弃处理机,或者进 程本不拥有处理机,且其他资源也没有满 足,从而即使得到处理机资源也不能开始 运行。 运行态 指进程得到了处理机,不需要等待其他任 何资源,正在执行的状态, 此时进程才可 使用申请的资源。 二、进程的创建 调用 CreateProcess函数创建新的进程,若进程创建成功的话,返回一个进程信息结构类型的指针。进程信息结构如下: typedef struct _PROCESS_INFORMATION { HANDLE hProcess; HANDLE hThread; DWORD dwProcessId; DWORD dwThreadId; }PROCESS_INFORMATION; 进程信息结构包括进程句柄,主线程句柄,进程 ID,主线程ID。 三、进程的终止 调用 ExitProcess结束进程;进程的主线程返回,隐含地调用 ExitProcess导致进程结束;进程的最后一个线程终止;调用 TerminateProcess终止进程。 当要结束一个 GDI进程时,发送WM_QUIT消息给主窗口,当然也可以从它的任一线程调用ExitProcess。 VOID ExitProcess( UINT uExitCode // exit code for all threads); BOOL TerminateProcess( HANDLE hProcess, // handle to the process UINT uExitCode // exit code for the process ); 四、线程的简介 概念一 线程是包含在进程中的一种实体,线程有自己的运行线索,可以完成一定的任务,可与其他线程共享进程中的共享变量及部分环境、相互之间协同来完成进程所要完成的任务。 概念二 线程是操作系统分时调度分配 CPU时间的基本实体。一个线程可以执行程序的任意部分的代码,即使这部分代码被另一个线程并发地执行;一个进程的所有线程共享它的虚拟地址空间、全局变量和操作系统资源。 四、线程的简介 概念三 线程是一个独立的执行流,是进程内部的一个独立的执行单元,相当于一个子程序,它对应Visual C++中的CWinThread类的对象。单独一个执行程序运行时,默认运行包含一个主线程,主线程以函数地址的形式提供程序的启动点,如main或WinMain函数。当主线程终止时,进程也随之终止,但根据需要,应用程序又可以分解成许多独立执行的线程,每个线程并行的运行在同一进程中。 四、线程的简介 概念三 线程是一个独立的执行流,是进程内部的一个独立的执行单元,相当于一个子程序,它对应Visual C++中的CWinThread类的对象。单独一个执行程序运行时,默认运行包含一个主线程,主线程以函数地址的形式提供程序的启动点,如main或WinMain函数。当主线程终止时,进程也随之终止,但根据需要,应用程序又可以分解成许多独立执行的线程,每个线程并行的运行在同一进程中。 共性 同一个进程中的线程都有共性: 多个线程将共享同一个进程虚拟空间。 线程共享的环境包括:进程代码段、进程的公有数据(利用这些共享的数据,线

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档