《Java多线程机制》.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《Java多线程机制》.ppt

 Java多线程机制 讲课提纲 1.1 Java中的线程 1.2 Thread的子类创建线程 1.3 使用Runable接口 1.4 线程的常用方法 引言 Java语言的一大特性点就是内置对多线程的支持。多线程是指同时存在几个执行体,按几条不同的执行线索共同工作的情况。Java虚拟机负责管理线程,多个线程将被轮流执行,使得每个线程都有机会使用CPU资源。 观察代码: class A { public static void main(String args[]) { while(true) System.out.println(“hello”); while(true) System.out.println(“hello”); } } 图1.1 JVM让线程轮流执行 1.1 Java中的线程 程序是一段静态的代码,它是应用软件执行的蓝本。 进程是程序的一次动态执行过程,它对应了从代码加载、执行至执行完毕的一个完整过程,这个过程也是进程本身从产生、发展至消亡的过程。 线程是比进程更小的执行单位,一个进程在其执行过程中,可以产生多个线程,形成多条执行线索,每条线索,即每个线程也有它自身的产生、存在和消亡的过程,也是一个动态的概念。 图1.2 在主线程和其他线程之间轮流交换 应用程序 2.线程的状态与生命周期 Java语言使用Thread类及其子类的对象来表示线程,新建的线程在它的一个完整的生命周期中通常要经历如下的四种状态: (1)新建 (2) 运行 (3) 中断 (4) 死亡 例1.1 Public class Example9-1 { public static void main (String args[]) { Leftand left; Righthand right; left=new Lefthand();//创建线程 right=new Righthand(); left.start(); right.start(); for(int i=1;i=6;i=++) { System.out.println(“我是主线程”); } } } class Lefthand extends Thread { public void run() { for (int i=1;i=9;i++) { System.out.println(“我是左手线程”); } } } Class Righthand extends Thread { public vpid run() { for(int i=1;i=9;i++) { System.out.println(“我是右手线程”); } } } 3.线程调度与优先级 JMV中的线程调度器负责管理线程,调度器把线程的优先级分为10个级别,分别用Thread类中的类常量表示。每个Java线程的优先级都在常数1~10之间,即Thread.MIN_PRIORITY和Thread.MAX_PRIORITY 之间。 setPriority(int grade) 用于调整线程的优先级。 getPriority( ) 返回线程的优先级。 Java调度器的任务是使高优先级的线程能始终运行,一旦时间片有空,则使具有同等优先级的线程以轮流的方式顺序使用时间片。 1.2 Thread的子类创建线程 Java中编程实现多线程应用有两种途径:一种是用Thread类的子类创建线程,另一种是用Thread类创建线程。 用Thread类的子类创建线程对象 编写Thread类的子类时,需要重写父类的run方法,其目的是规定线程的具体操作,否则线程就什么也不做,因为父类的run方法中没有任何操作语句。 当JVM将CPU使用权切换给线程时,如果线程是Thread的子类创建的,该类中的run方法就立刻执行 1.3 使用Runable接口 1. Runable接口与目标对象 创建线程的另一个途径就是用Thread类直接创建线程对象。使用Thread创建线程对象时,通常使用的构造方法是: Thread(Runnable target) 例1.2 Class Example 9-4 { public static vo

文档评论(0)

wgvi + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档