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

高级编程课件线程课程.pptxVIP

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JAVA高级编程多线程--1目标了解进程与线程的概念了解使用多进程与多线程的优点掌握如何创建线程线程应用举例了解线程的各状态进程与多进程进程的定义 进程(Process)是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。程序只是一组指令的有序集合,它本身没有任何运行的含义,只是一个静态实体。而进程则不同,它是程序在某个数据集上的执行,是一个动态实体。它因创建而产生,因调度而运行,因等待资源或事件而被处于等待状态,因完成任务而被撤消,反映了一个程序在一定的数据集上运行的全部动态过程。当你运行一个程序,你就启动了一个进程。 例如:当你打开一个word文档时将会启动一个进程,在任务管理器中你可以看到一个映像名称为WINWORD.EXE进程以及该进程所包含的线程个数,CPU和内存占用数。进程与多进程进程同程序的差别: 1. 进程是程序的执行,属于动态,程序是完成某个功能的指令的集合,是静态的 2.进程的存在是暂时的,程序的存在是永久的。 3. 进程=程序+数据+PCB (进程控制块,process control block),即进程是一个程序及其数据在处理机上顺序地执行时所发生的活动。 4. 一个程序可以对应多个进程进程与多进程进程的特征: 进程是一个能独立运行的单位,能与其它进程并行地活动。 进程是竞争计算机系统有限资源的基本单位,是一个可调度的实体。也是进行处理机调度的基本单位。 进程是操作系统进行资源分配的单位。进程是拥有自己资源的单元体。进程与多进程进程的状态及变化进程有着“ 执行-暂停-执行 ” 的活动规律,一般说来一个进程不是自始至终一口气运行到底的。各进程相互制约,当使它暂停的原因消失后,它又可准备运行。因此进程有多种状态。进程的状态1. 三种基本状态:(1) 运行状态 (Running) 当一个进程正在处理机上运行时,称为运行状态。(2) 就绪状态 (Ready) 一个进程获得了除处理机外的一切所需资源,一旦得到处理机即可运行,称此进程处于就绪状态。(3) 等待状态 (Blocked) 一个进程正在等待某一事件发生而暂时停止运行,即使这时把处理机分配给此进程也无法运行。又称为阻塞状态。进程状态的变化进程在系统中,其状态可以变化,各状态间变化如下图所示:Running等待事件 (系统服务请求,如请求I/O))? 被调度或分派? 时间片用完ReadyBlocked? 事件发生注:处理机的数目一般总是少于进程数,在单处理机系统中,只有一个进程可真正获得处理。进程状态的变化状态间转换说明:? 就绪状态的进程被进程调度程序选中后,就分配到处理机来运行,进入运行状态。? 运行状态的进程时间片用完不得不让出处理机,变为就绪状态。? 运行状态的进程需等待某一事件发生后,才能继续运行,变为等待状态。? 等待状态的进程:若其等待的事件已发生,变为就绪状态。线程与多线程线程的定义 线程是进程内一个相对独立的、可调度的执行单元。在一个进程内部可以有多个线程,即有多个执行流,这多个线程是共享进程的内存空间和系统资源。它们轮换使用这块内存空间。 多线程是为了使得多个线程并行的工作以完成多项任务,以提高系统的效率。线程与多线程 根据线程定义可知线程有以下性质:(1) 线程是进程内的一个相对独立的可执行单元。(2) 线程是操作系统中的基本调度单元,因此线程中应包含有调度所需的必要信息。线程与多线程(3) 由于线程是被调度的基本单元,而进程不是调度的单元。所以每个进程在创建时,至少需要同时为该进程创建一个线程。也就是说进程中至少要有一个或一个以上线程,否则该进程无法被调度执行。(4) 需要时,线程可以创建其他线程。(5) 进程是被分给并拥有资源的基本单元,同一进程内的多个线程共享该进程的资源。但线程并不拥有资源,只是使用它们。线程与多线程(6) 由于共享资源(包括数据和文件),所以线程间需要通信和同步机制。(7) 线程有生命期,有诞生和死亡。在生命期中有状态的变化。使用多进程和多线程的优点 多进程的优点:在同一个时间里,同一个计算机系统中如果允许两个或两个以上的进程处于运行状态,这便是多任务。现代的操作系统几乎都是多任务操作系统,能够同时管理多个进程的运行。 多任务带来的好处是明显的,比如你可以边听mp3边上网,与此同时甚至可以将下载的文档打印出来,而这些任务之间丝毫不会相互干扰。那么这里就涉及到并行的问题,俗话说,一心不能二用,这对计算机也一样,原则上一个CPU只能分配给一个进程,以便运行这个进程。我们通常使用的计算机中只有一个CPU,也就是说只有一颗心,要让它一心多用,同时运行多个进程,就必须使用并发技术。实现并发技术相当复杂,最容易理解的是“时间片轮转进程调度算法”,它的思想简单介绍如下:在操作

文档评论(0)

ryx5620 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档