【精品】java与面向对象程序设计实验教程第7章 线程(可编辑.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《【精品】java与面向对象程序设计实验教程第7章 线程(可编辑.ppt》由会员分享,可在线阅读,更多相关《【精品】java与面向对象程序设计实验教程第7章 线程(可编辑.ppt(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java与面向对象程序设计实验教程第7章 线程面向对象的程序设计对外经济贸易大学 雷擎content7.1多线程基础多线程基础7.2线程的生命周期线程的生命周期7.3生产者与消费者问题生产者与消费者问题实验:多线程实验:多线程面向对象的程序设计对外经济贸易大学 雷擎7.1多线程基础多线程基础o7.1.1线程的概念线程的概念o7.1.2Thread类和类和Runnable接口接口o7.1.3在程序中实现多线程在程序中实现多线程面向对象的程序设计对外经济贸易大学 雷擎7.1.1线程的概念线程的概念o线程和进程都是指正在执行的程序代码,是线程和进程都是指正在执行的程序代码,是与计算机中的并发执行相关
2、的概念。与计算机中的并发执行相关的概念。o通过操作系统的调度,多个进程和线程可以通过操作系统的调度,多个进程和线程可以同时、独立的执行。同时、独立的执行。面向对象的程序设计对外经济贸易大学 雷擎o线程与进程的区别线程与进程的区别:n多个进程的内部数据和状态都是完全独立的多个进程的内部数据和状态都是完全独立的,而而多线程是共享一块内存空间和一组系统资源多线程是共享一块内存空间和一组系统资源,有有可能互相影响可能互相影响.n线程本身的数据通常只有寄存器数据,以及一线程本身的数据通常只有寄存器数据,以及一个程序执行时使用的堆栈,所以线程的切换比个程序执行时使用的堆栈,所以线程的切换比进程切换的负担要
3、小。进程切换的负担要小。o多线程是多线程是Java的内嵌特性,的内嵌特性,Java虚拟机虚拟机允许应用程序并发地运行多个执行线程。允许应用程序并发地运行多个执行线程。线程线程与进程的区别与进程的区别面向对象的程序设计对外经济贸易大学 雷擎面向对象的程序设计对外经济贸易大学 雷擎面向对象的程序设计对外经济贸易大学 雷擎定定义一个一个Thread类的子的子类o步骤:步骤:n1.定义定义一个一个Thread类的子的子类,并并overriderun()方法,在这个方法里是你希望这个线程运行方法,在这个方法里是你希望这个线程运行的代码的代码n2.创建一个这个新类的对象创建一个这个新类的对象n3.调用调用
4、Thread对象的对象的start()方法来启动线方法来启动线程程面向对象的程序设计对外经济贸易大学 雷擎实现实现Runnable接口接口o步骤:步骤:n1.定义一个类,实现定义一个类,实现Runnalbe接口,并接口,并overriderun()方法,在这个方法里是你希方法,在这个方法里是你希望这个线程运行的代码望这个线程运行的代码n2.创建一个这个新类的对象创建一个这个新类的对象n3.创建一个创建一个Thread类的对象,用刚才的类的对象,用刚才的Runnable对象作为构造函数参数对象作为构造函数参数n4.调用调用Thread对象的对象的start()方法来启动线方法来启动线程程面向对象
5、的程序设计对外经济贸易大学 雷擎7.1.3在程序中实现多线程在程序中实现多线程o一个龟兔赛跑的例子,使用线程模拟了龟兔一个龟兔赛跑的例子,使用线程模拟了龟兔在在1000米赛跑过程。米赛跑过程。面向对象的程序设计对外经济贸易大学 雷擎1.定义一个定义一个Thread类的子类类的子类classRunnerextendsThreadStringname;doubledistance;Randomrand=newRandom();publicRunner(Stringname)this.name=name;面向对象的程序设计对外经济贸易大学 雷擎publicvoidrun()distance=0.0;
6、for(inti=0;i10;i+)distance+=100.0;intsleepTime=rand.nextInt(2000);System.out.println(name+跑了跑了+distance+米米t休息休息+sleepTime+毫秒毫秒);tryThread.sleep(sleepTime);catch(InterruptedExceptioninte)System.out.println(name+跑到了终点跑到了终点);面向对象的程序设计对外经济贸易大学 雷擎使用定义好的使用定义好的Runner线程线程importjava.util.Random;publicclassDe
7、moThreadSimplepublicstaticvoidmain(Stringargs)/创建并命名每个线程创建并命名每个线程Runnerrabbit=newRunner(rabbit);Runnertortoise=newRunner(“tortoise”);rabbit.setPriority(Thread.NORM_PRIORITY);tortoise.setPriority(Thread.NORM_PRIORITY+5);rabbit.start();/启动线程启动线程1tortoise.start();/启动线程启动线程1面向对象的程序设计对外经济贸易大学 雷擎2.实现实现Run
8、nable接口接口classJumpBeanimplementsRunnableprivateintsleepTime;publicJumpBean()/构造方法构造方法sleepTime=(int)(Math.random()*6000);/获得随机休息毫秒数获得随机休息毫秒数面向对象的程序设计对外经济贸易大学 雷擎数组元素初始化的例子数组元素初始化的例子intaI;aI=newint10;StringaS;aS=newString3;CircleaC;aC=newCircle5;intk=0;for(k=0;k10;k+)aIk=k*k;aS0=aaa;aS1=newString(bbb)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 【精品】java与面向对象程序设计实验教程第7章 线程可编辑 java 面向 对象 程序设计 实验 教程 线程 编辑
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内