欢迎来到天天文库
浏览记录
ID:57057944
大小:1.18 MB
页数:15页
时间:2020-07-30
《Java面向对象程序设计与系统开发线程处理课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、驱动任务一采用线程类Thread实现每隔一分钟就提示用户使用了ATM机的时间。1目标及知识点线程的基本概念11StringBuffer类2线程sleep()方法的使用32走近线程3Thread线程类Thread是java.lang包里的管理线程的类。它的每一个实例对象就对应着一个线程,一个线程能承担一项独立的工作。/***MyThread类继承了Thread类所以也成为了一个线程类**/publicclassMyThreadextendsThread{/***这个方法是线程类运行的入口,要实现逻辑必须要重写这个方法*/publicvoidrun(){System.out.println(
2、"我是线程在说话");}}4Thread线程类Thread是java.lang包里的管理线程的类。它的每一个实例对象就对应着一个线程,一个线程能承担一项独立的工作。/***MyThread类继承了Thread类所以也成为了一个线程类**/publicclassMyThreadextendsThread{/***这个方法是线程类运行的入口,要实现逻辑必须要重写这个方法*/publicvoidrun(){System.out.println("我是线程在说话");}}5启动线程一个新创建的线程并不自动开始运行。你必须调用它的start()方法。调用start()方法使线程处于可运行状态,这意
3、味着它可以由JVM(Java虚拟机)调度并执行。但这并不意味着线程就会立即运行。publicclassTest{publicstaticvoidmain(String[]args){MyThreadp=newMyThread();//生成了一个线程,放到了内存中p.start();//注意,这里调用Thread中的start()方法,该方法将去调用run()方法System.out.println("我是主程序在说话");}}运行结果:我是主程序在说话我是线程在说话6线程中的join方法那么怎么描述两个并行的任务在某个时候要求其中一个任务必须要另一个任务完成的基础上才能完成,就如同我看书
4、的时候被送快递的打断,必须要先出去领了快递让送快递的任务完成才能继续看书。要描述这样的情况,可以使用线程中的join()方法实现。publicclassTest{publicstaticvoidmain(String[]args){MyThreadp=newMyThread();//生成了一个线程,放到了内存中p.start();try{p.join();//将这个线程加入到主程序当中,只有当这个线程执行完以后主程序才继续向下执行}catch(InterruptedExceptione){e.printStackTrace();}System.out.println("我是主程序在说话"
5、);}}运行结果:我是线程在说话我是主程序在说话7线程中的sleep方法线程根据其优先级由虚拟机自行判断某个时间段该哪个线程执行,一般来说我们是不用去干预的。但现实生活中存在着需要干预线程的情况,还是比如我在飞机上,我要每隔1个小时打个盹(让线程停止),在Java语言中如何描述?这就要用到线程中的sleep()方法。publicclassMyThreadextendsThread{/***这个方法是线程类运行的入口,要实现逻辑必须要重写这个方法*/publicvoidrun(){try{sleep(1000);//参数是毫秒,1000表示1秒}catch(Exceptione){}Sys
6、tem.out.println("我是线程在说话");}}8任务实现1分析业务流程23分析抽象出各个类;按照类图构建线程类;45实现类中具体方法;在项目中生成一个线程,并使其运行;9驱动任务二如果上一节的任务中TimeThread线程类已经继承了其他类,由于Java只能单继承,那么我们没有办法再继承Thread类,此时我们可以用线程接口Runnable来实现相同的功能。10目标及知识点线程接口Runnable的使用11如何终止线程的运行211Runnable接口由于Java不能用extends实现多继承,如果一个类已经继承了其他类而还想成为一个线程的话,就要用到java.lang包里的R
7、unnable接口。/*Driver类继承于People类,实现了一个Runnable接口*/publicclassDriverextendsPeopleimplementsRunnable{}在实现这个接口的同时必须要实现接口中的run方法如下所示:/*Driver类继承于People类,实现了一个Runnable接口*/publicclassDriverextendsPeopleimplementsRunnable{public
此文档下载收益归作者所有