欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    Java程序设计课件(高晓黎)第12章多线程.ppt

    • 资源ID:6510034       资源大小:349.50KB        全文页数:17页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Java程序设计课件(高晓黎)第12章多线程.ppt

    第12章 多线程,目 录,本章知识重点,本章知识难点,线程的控制,Java多线程的实现方式,经典练习题,线程的生命周期,多线程概念介绍,本章知识重点,线程的生命周期,多线程的实现方式,线程的控制,线程与进程,本章知识难点,现实中的多线程,现实生活中,我们可以利用计算机边听音乐,边浏览网页,或者从网络上下载东西,等等。这些都是利用了操作系统的多线程并发机制实现的,Java语言就支持多线程。多线程可以包含多个程序段,他们按照自己的执行路线并发工作,独立完成各自的功能,互不干扰。,线程概览,线程的概述,线程是程序中能顺序执行的一个序列。每个线程对应程序的一条执行路线,多个线程构成同一程序的多条执行路线。,Java支持多线程编程,多线程程序包含两个或两个以上并发运行的线程。,线程需要操作系统的支持,不是所有类型的计算机都支持多线程应用程序。,在应用程序中使用多线程不会增加 CPU 的数据处理能力。,线程概览续,线程与进程的区别与联系,进程,1.是一个程序在其自身的地址空间中的一次执行活动。,2.进程是资源申请、调度和独立运行的单位,它使用系统中的运行资源。,线程,1.是进程中的一个单一的连续控制流程。,3.每个线程对应程序中的一条执行路线。,2.一个进程可以拥有多个线程。,4.和进程一样拥有独立的执行控制,由操作系统负责调度,区别与联系,线程没有独立的存储空间,而是和所属进程中的其它线程共享一个存储空间,每个进程拥有一段专用的内存区域。利用这些共享单元可以实现数据交换、通信和一系列的同步操作。,线程的生命周期,Java线程的生命周期中一共有五个状态:新建状态就绪状态运行状态阻塞状态和终止状态。,新建状态,就绪状态,运行状态,阻塞状态,终止状态,下图是五个状态的状态转换示意图:,线程的生命周期【续】,新建状态即创建一个新的线程对象(new Thread)。当一个线程处于创建状态时,系统不为它分配资源,通过调用start方法进入就绪状态。,新建线程的代码示例:,Thread myThread=new Thread();,新建状态,就绪状态,Java通过start方法启动处于新建状态的线程对象,使其进入就绪状态。处于就绪状态的线程已经具备了运行条件,将进入线程队列等待系统为其分配CPU,一旦获得了CPU,线程就进入运行状态,并调用自己的run方法。,就绪状态的代码示例:,myThread.start();,线程的生命周期【续】,处于就绪状态的线程被调度并获得CUP的处理后进入了运行状态,每一个Thread类及其子类的对象都有一个run()方法,当线程对象被调度执行的时候,它将自动调用本对象的run()方法。,阻塞状态,运行状态,处于就绪状态的线程被调度并获得CUP的处理后进入了运行状态,每一个Thread类及其子类的对象都有一个run()方法,当线程对象被调度执行的时候,它将自动调用本对象的run()方法。注意:对线程的操作应该写到run()方法中。,终止状态,终止状态是线程生命周期的最后一个阶段。因线程完成全部工作,正常结束运行。或线程被强制性的终止。,Java多线程的实现方式,继承Thread类,Java.lang包中的Thread类,是一个专门用来创建线程的类,该类中提供了线程所用到的属性和方法。我们通过创建该类的子类来实现多线程。,实现Runnable接口,通过Runable接口实现多线程的方法:设计一个实现Runable接口的类,然后根据工作需要重新设计线程的run方法;建立该类的对象,以此对象为参数建立Thread类的对象;调用Thread类对象的start方法启动线程,将执行权转交到run方法。,线程的控制,线程的优先级,在Java应用程序中,为了控制线程的运行,Java定义了线程调度器来监控系统中处于就绪状态的所有线程。一个线程的优先级设置遵从以下原则:线程创建时,子进程继承父进程的优先级 线程创建后,可通过调用setPriority()方法改变优先级。一般情况下,主线程具有普通优先级。新建的线程默认为普通优先级,yield()暂停当前线程sleep()使线程进行睡眠wait()是线程暂停,等待通知或自动苏醒notify()通知线程苏醒notifyAll()通知线程苏醒interrupt()中断线程,线程的同步机制,在处理线程同步时,我们在共享资源中用关键字synchronized来进行修饰。在共享内存变量的方法前加synchronized修饰符。synchronized 关键字包括两种用法:synchronized()方法和 synchronized 块。,synchronized()方法:,通过在方法声明中加入 synchronized关键字来声明 synchronized()方法。synchronized()方法控制对类成员变量的访问。如:public synchronized void accessVal(int newVal);,synchronized 块:,通过 synchronized关键字来声明synchronized 块。语法如下:synchronized(syncObject)/允许访问控制的代码,经典练习题,再 见,谢谢你的配合!,

    注意事项

    本文(Java程序设计课件(高晓黎)第12章多线程.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开