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

    Java面向对象程序设计与系统开发第12章 线程处理.ppt

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

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

    Java面向对象程序设计与系统开发第12章 线程处理.ppt

    面向对象程序设计与系统开发,第12章 线程处理,2,驱动任务一,采用线程类Thread实现每隔一分钟就提示用户使用了ATM机的时间。,3,目标及知识点,4,走近线程,5,Thread线程类,Thread是java.lang包里的管理线程的类。它的每一个实例对象就对应着一个线程,一个线程能承担一项独立的工作。,/*MyThread类继承了Thread类所以也成为了一个线程类*/public class MyThread extends Thread/*这个方法是线程类运行的入口,要实现逻辑必须要重写这个方法*/public void run()System.out.println(我是线程在说话);,6,Thread线程类,Thread是java.lang包里的管理线程的类。它的每一个实例对象就对应着一个线程,一个线程能承担一项独立的工作。,/*MyThread类继承了Thread类所以也成为了一个线程类*/public class MyThread extends Thread/*这个方法是线程类运行的入口,要实现逻辑必须要重写这个方法*/public void run()System.out.println(我是线程在说话);,7,启动线程,一个新创建的线程并不自动开始运行。你必须调用它的start()方法。调用start()方法使线程处于可运行状态,这意味着它可以由JVM(Java虚拟机)调度并执行。但这并不意味着线程就会立即运行。,public class Test public static void main(String args)MyThread p=new MyThread();/生成了一个线程,放到了内存中p.start();/注意,这里调用Thread中的start()方法,该方法将去调用run()方法System.out.println(我是主程序在说话);,运行结果:我是主程序在说话我是线程在说话,8,线程中的join方法,那么怎么描述两个并行的任务在某个时候要求其中一个任务必须要另一个任务完成的基础上才能完成,就如同我看书的时候被送快递的打断,必须要先出去领了快递让送快递的任务完成才能继续看书。要描述这样的情况,可以使用线程中的join()方法实现。,public class Test public static void main(String args)MyThread p=new MyThread();/生成了一个线程,放到了内存中p.start();try p.join();/将这个线程加入到主程序当中,只有当这个线程执行 完以后主程序才继续向下执行 catch(InterruptedException e)e.printStackTrace();System.out.println(我是主程序在说话);,运行结果:我是线程在说话我是主程序在说话,9,线程中的sleep方法,线程根据其优先级由虚拟机自行判断某个时间段该哪个线程执行,一般来说我们是不用去干预的。但现实生活中存在着需要干预线程的情况,还是比如我在飞机上,我要每隔1个小时打个盹(让线程停止),在Java语言中如何描述?这就要用到线程中的sleep()方法。,public class MyThread extends Thread/*这个方法是线程类运行的入口,要实现逻辑必须要重写这个方法*/public void run()trysleep(1000);/参数是毫秒,1000表示1秒catch(Exception e)System.out.println(我是线程在说话);,10,任务实现,分析业务流程,分析抽象出各个类;,按照类图构建线程类;,实现类中具体方法;,在项目中生成一个线程,并使其运行;,11,驱动任务二,如果上一节的任务中TimeThread线程类已经继承了其他类,由于Java只能单继承,那么我们没有办法再继承Thread类,此时我们可以用线程接口Runnable来实现相同的功能。,12,目标及知识点,13,Runnable接口,由于Java不能用extends实现多继承,如果一个类已经继承了其他类而还想成为一个线程的话,就要用到java.lang包里的Runnable接口。,/*Driver类继承于People类,实现了一个Runnable接口*/public class Driver extends People implements Runnable在实现这个接口的同时必须要实现接口中的run方法如下所示:/*Driver类继承于People类,实现了一个Runnable接口*/public class Driver extends People implements Runnablepublic void run(),14,终止一个线程,当run方法执行完之后,该线程就自动停止运行。因此我们想让线程一直执行的时候我们一般是采用设置run方法为一个死循环:while(true)要想终止如上的一个被设置为死循环的线程,只要将其true条件改变为flase即可。如上一个任务中我们设置5分钟线程自动结束只需要添加如下黑体字部分代码,更改while循环的条件值。,public void run()while(!isEnd)/如果线程没有结束try sleep(60000);/线程睡1分钟,1000为1秒 catch(InterruptedException e)e.printStackTrace();number+;/计数器增加1System.out.println(您已经使用+number+分钟);if(number=5)isEnd=false;,15,任务实现,分析业务流程,分析抽象出各个类;,按照类图构建线程类;,实现类中具体方法;,在项目中生成一个线程,并使其运行;,16,课堂总结,

    注意事项

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

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开