Java2实用教程课件(第3版第9章).ppt
《Java2实用教程课件(第3版第9章).ppt》由会员分享,可在线阅读,更多相关《Java2实用教程课件(第3版第9章).ppt(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java 2实用教程(第版)教学课件n主讲人:杨云帆第章Java多线程机制多线程机制9.1 Java中的线程中的线程9.2 Thread的子类创建线程的子类创建线程9.3 使用使用Runable接口接口9.4 线程的常用方法线程的常用方法9.6 线程同步线程同步9.7 在同步方法中使用在同步方法中使用wait()、notify 和和notifyAll()方法方法9.8 挂起、恢复和终止线程挂起、恢复和终止线程9.1 Java中的线程 n程序程序是静态的代码。n进程进程是程序的一次动态执行过程。n线程线程是比进程更小的执行单位,一个进程在其执行过程中,可以产生多个线程,每个线程也是一个产生、存在
2、和消亡的动态过程。nJava的多线程多线程:在一个CPU时间片内,若干个java线程轮流切换执行。n当当JVM加载代码,发现加载代码,发现main方法之后,就会启动方法之后,就会启动“主主线程线程”,该线程负责执行,该线程负责执行main方法。方法。n在在main方法的执行过程中可创建方法的执行过程中可创建其它线程其它线程。n如果如果main方法中没有创建方法中没有创建其它其它线程线程,那么当,那么当main方法方法执行完最后一个语句,执行完最后一个语句,JVM就会结束就会结束Java应用程序。应用程序。n如果如果main方法中又创建了方法中又创建了其它其它线程线程,那么,那么JVM就要在就要
3、在主线程和其它线程之间轮流切换,保证每个线程都有机主线程和其它线程之间轮流切换,保证每个线程都有机会使用会使用CPU资源,直到程序中的所有线程都结束,资源,直到程序中的所有线程都结束,JVM才结束才结束Java应用程序。应用程序。2.线程的生命周期 例子9.1用用Thread类或其子类声明并创建线类或其子类声明并创建线程对象时,线程对象处于新建状态。程对象时,线程对象处于新建状态。此时它已经有了相应的内存空间和其此时它已经有了相应的内存空间和其他资源。他资源。线程创建后仅仅是占有了内存资源,在线程创建后仅仅是占有了内存资源,在JVM管理的线程中还没有这个线程,管理的线程中还没有这个线程,此此线
4、程必须调用线程必须调用start()方法()方法通知通知JVM又又有一个新线程排队等候切换了。有一个新线程排队等候切换了。当当JVM将将CPU使用权切换使用权切换给该线程时,此线程就可给该线程时,此线程就可以脱离主线程独立运行以脱离主线程独立运行(即即执行执行run方法方法)。有有4种原因中断线程:种原因中断线程:CPU资源资源从当前线程切换给其他线程、从当前线程切换给其他线程、执行了执行了sleep(int millsecond)方法、执行了方法、执行了wait()方法、进方法、进入阻塞状态入阻塞状态。run方法结束方法结束9.2 用Thread类的子类创建线程对象nThread类的子类需要
5、重写父类的run方法,目的是定义线程的具体操作,否则线程就什么也不做,因为父类的run方法中没有任何操作语句。n如果线程对象是Thread子类创建的,当JVM将CPU使用权切换给线程时,线程对象立刻调用所属类的run方法执行。nclass AA extends Threadnpublic void run()/重写run()方法nn class BB extends Threadnpublic void run()/重写run()方法nnpublic class AB nnpublic static void main(String args)nAA aa=new AA();nBB bb=ne
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java2 实用教程 课件
限制150内