网站大量收购独家精品文档,联系QQ:2885784924

第十章 Java的多线程机制.pptVIP

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十章 Java的多线程机制 程序是一段静态的代码,它是应用程序执行的蓝本 class StudentThread extends Thread { public void run() { for(int i=0;i=5;i++) {System.out.println(You are Students!); try{sleep(500); } catch(InterruptedException e) {… } } } } class TeacherThread extends Thread { public void run() { for(int i=0;i=5;i++) {System.out.println(I am a Teacher!); try{ sleep(300); } catch(InterruptedException e) {…. } }}} public class ThreadTest {static StudentThread student; static TeacherThread teacher; public static void main(String[] args) { teacher=new TeacherThread(); student=new StudentThread(); teacher.start(); student.start(); } } 当run()执行结束返回时,线程自动终止 使用stop()也可以终止线程的执行 在程序中常常调用interrupt()来终止线程, interrupt()不仅可中断正在运行的线程, 而且也能中断处于blocked状态的线程, 此时interrupt()会抛出一个InterruptedException异常 Java提供了几个用于测试线程是否被中断的方法 API: java.lang.Thread Void interrupt() 向一个线程发送一个中断请求,同时把这个线程的“interrupted”状态置为true. 若该线程处于blocked状态,会抛出InterruptedException. Static boolean interrupted() 检测当前线程是否已被中断,并重置状态“interrupted”值为false 会计第 一次存款后 会计第 三次存款后 会计第 二次存款后 出纳第 二次取款后 出纳第 一次取款后 出纳第 三次取款后 2、用money表示帐本,会计、出纳都要对其操作 3、设计一个 chunqu方法,会计、出纳利用这个方法对帐本money进行操作 问题分析: 1、设计两个线程,一个表示会计kuaiji、一个表示出纳 chuna 程序设计如下: * * 进程是程序的一次动态执行,它对应了从代码加载、执行至执行完毕的一个完整过程 线程 是进程执行过程中产生的多条执行线索 线程是比进程执行更小的单位 10.1什么是线程 一。程序、进程与线程 例:ThreadTest.java 10.2多线程实现 Java中实现多线程应用有两种途径:    创建Thread类的子类    在程序中使用Runnable接口 10.2.1用Thread类的子类创建线程 一、只需从Thread类派生出一个子类,在子类中一定要重写run().例: public void run() { ……. } } 二、然后用该子类创建一个对象 StudentThread student=new StudentThread(); 三、用start()方法启动线程 student.start(); 在程序中实现多线程,关键性操作: 定义用户线程操作,即run()方法的实现 在适当的时候启动线程 例:ThreadTest.java 主线程 T1.start() Tn.start() T2.Start() 主线程 10.2.2 Runnable()接口 用Runnable()接口实现多线程时,也必须必须实现run()方法,也需用start()启动 线程,但此时常用Thread类的构造方法来创建线程对象 例:class BallThread extends Applet implements Runnable { public void start()

文档评论(0)

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

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

1亿VIP精品文档

相关文档