Java网络程序设计 课件 单元8-01 多线程_第1页
Java网络程序设计 课件 单元8-01 多线程_第2页
Java网络程序设计 课件 单元8-01 多线程_第3页
Java网络程序设计 课件 单元8-01 多线程_第4页
Java网络程序设计 课件 单元8-01 多线程_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

线程应用单元八多线程创建和使用线程线程控制目录CONTENTS123线程死锁和协作目录CONTENTS5共享数据48.1.1线程引入

在操作系统中,使用进程是为了使多个程序能并发执行,以提高资源的利用率和系统吞吐量。在操作系统中再引入线程,则是为了减少采用多进程方式并发执行时所付出的系统开销,使计算机操作系统具有更好的并发性。

操作系统操作进程,付出的系统开销是比较大的。所以,系统中的进程,其数目不宜过多,进程切换的频率也不宜过高,这也就限制了系统并发性的进一步提高。

线程是进程内一个相对独立的、可调度的执行单元。进程是资源分配的基本单位。与进程相对应,线程与资源分配无关,它属于某一个进程,并与进程内的其他线程一起共享进程的资源。另外,进程拥有一个完整的虚拟地址空间,而同一进程内的不同线程共享进程的同一地址空间。

线程是操作系统中的基本调度单元,进程不是调度的单元,所以每个进程在创建时,至少需要同时为该进程创建一个线程,线程也可以创建其他线程。进程是被分配并拥有资源的基本单元,同一进程内的多个线程共享该进程的资源,但线程并不拥有资源,只是使用它们。由于共享资源,所以线程间需要通信和同步机制。8.1.1线程引入8.1.2线程状态

线程是相对独立的、可调度的执行单元,因此在线程的运行过程中,会分别处于不同的状态。通常而言,线程主要有下列几种状态:(1)就绪状态:即线程已经具备运行的条件,等待调度程序分配CPU资源给这个线程运行。(2)运行状态:调度程序分配CPU资源给该进程,该进程正在执行。(3)阻塞状态:线程正等待某个条件符合或某个事件发生,才会具备运行的条件。下面是线程的状态转换图,通过该图,会给大家介绍线程的执行过程和状态转换。

对线程的基本操作主要有以下5种,通过这五种操作,使线程在各个状态之间转换:派生:线程属于进程,可以由进程派生出线程,线程所拥有的资源将会被创建。一个线程即可以有进程派生,也可以由线程派生。在Java中,可以创建一个线程并通过调用该线程的start()方法使该线程进入就绪状态。调度:调度程序分配CPU资源给就绪状态的线程,使线程获得CPU资源进行运行,即执行Java线程类中run()方法里的内容。阻塞:正在运行状态的线程,在执行过程中需要等待某个条件符合或某个事件发生,此时线程进入阻塞状态。阻塞时,寄存器上下文、程序计数器以及堆桟指针都会得到保存。激活:在阻塞状态下的线程,如果需要等待的条件符合或事件发生,则该线程被激活并进入就绪状态。结束

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论