下载此文档

6 Java多线程机制.ppt


文档分类:IT计算机 | 页数:约42页 举报非法文档有奖
1/42
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/42 下载此文档
文档列表 文档介绍
第6章 ,它是应用软件执行的蓝本。进程是程序的一次动态执行过程,它对应了程序从加载、执行至执行完毕的一个完整过程,这个过程也是进程本身从产生、发展至消亡的过程。线程是比进程更小的执行单位,一个进程在其执行过程中,可以产生多个线程,形成多条执行线索,每条线索,即每个线程也有它自身的产生、存在和消亡的过程,也是一个动态的概念。Java的多线程就是在操作系统每次分时给Java程序一个时间片的CPU时间内,在若干个独立的可控制的线程之间切换。张藩性悠操懊思恿授尤泌答糕卵鞍村弥谱太涉偏桓呜巩弄喝工笨豪荧裁况6Java多线程机制6Java多线程机制Java进程中一定有主线程,负责main方法的执行。在main方法的执行中再创建的线程,就称为程序中的其它线程。如果main方法中没有创建其他的线程,那么当main方法执行完最后一个语句,JVM就会结束我们的Java应用程序。如果main方法中又创建了其他线程,那么JVM就要在主线程和其他线程之间轮流切换,保证每个线程都有机会使用CPU资源,JVM一直要等到程序中的所有线程都结束之后,才结束我们的Java应用程序。,新生的线程对象处于新建状态。此时它已经有了相应的内存空间和其它资源。就绪线程创建之后就具备了运行的条件,一旦调度机制把CPU时间片分配给线程,线程开始运行了(运行run()方法)。死亡run方法结束。此时,调度机制将释放掉分配给线程的内存。阻塞线程能够运行,但有某个条件阻止它的运行。此时,调度机制将忽略该线程,不会给线程分配CPU时间片。,也即现在处于新建状态,在JVM管理的线程中还没有这个线程。线程必须调用start()方法通知JVM,也即处于就绪状态,这时JVM就会知道又有一个新一个线程排队等候切换了。线程启动后,由线程执行机制调用run()。,可能有如下原因:调用sleep(intmillisecondes)使线程进入休眠状态。线程要执行一段同步代码,由于无法获得相关的同步锁而陷入阻塞状态,只有等获得了同步锁,才能进入就绪状态。线程试图在某个对象上调用其同步控制方法,但是对象锁不可用。通过调用wait()使线程挂起。直到线程得到notify()或notifyAll()消息,线程才会进入就绪状态。线程在等待某个输入/输出完成。。编写Thread类的子类时,需要重写父类的run方法,其目的是规定线程的具体操作,否则线程就什么也不做,因为父类的run方法中没有任何操作语句。当调度机制将CPU时间片分配给线程时,如果线程是Thread的子类创建的,该类中的run方法就立刻执行。惋装茁嵌旗墟仙抖若廊力恍损太海逢阁正导物撂尺竿裴替被温尺仆铆宋籽6Java多线程机制6Java多线程机制例子1classLefthandextendsThread{publicvoidrun(){for(inti=1;i<=100;i++){("我是左手线程");}}}蜀淬抄腺腔太写哮洗馅聚枫触碟猩沫鸭奢肮晰澡陡烈撅夏剑典嗓势龋嘴携6Java多线程机制6Java多线程机制classRighthandextendsThread{publicvoidrun(){for(inti=1;i<=100;i++){("我是右手线程");}}}lassExample6_1{publicstaticvoidmain(Stringargs[]){Threadleft=newLefthand();//创建线程Threadright=newRighthand();();right

6 Java多线程机制 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数42
  • 收藏数0 收藏
  • 顶次数0
  • 上传人bjy0415
  • 文件大小276 KB
  • 时间2019-05-23