- 1、本文档共43页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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()
您可能关注的文档
- 编辑:陈玉霞.ppt
- 差分方程建模示例1:人口增长模型.ppt
- 沉浮的秘密.ppt
- 城市与区域管理专业方向简介.ppt
- 崇尚自然无为的道家.ppt
- 出纳岗位——实际操作.ppt
- 初一CD班作文讲评课.ppt
- 初中数学2班学习简报(第二期)主编:钱亚宁 2014年7月27日.ppt
- 初中数学七年级下册(苏科版).ppt
- 传送带问题吕叔湘中学庞留根2005年3月.ppt
- 2025年贵州省铜仁地区印江土家族苗族自治县高三二模物理试卷及答案.docx
- 2025年贵州省铜仁地区万山特区高三下学期第八周周测物理试卷.docx
- 2025年贵州省铜仁地区万山特区高三英才班下学期物理限时训练试题.docx
- 2025年贵州省铜仁地区万山特区高三下学期物理基础题、中档题型强化训练.docx
- 2025年网络工程师职业技能测试卷:网络存储系统设计与实施试题.docx
- 内蒙古呼和浩特实验教育集团2025届中考考前最后一卷生物试卷含解析.doc
- 2025年贵州省铜仁地区万山特区高三下学期4月联考物理试卷.docx
- 2025年贵州省铜仁地区万山特区高三下学期3月联考物理试卷.docx
- 2025年小学语文毕业升学考试全真模拟卷(语文综合素养测评)——语文基础知识与阅读理解能力试题.docx
- 2025年贵州省遵义市遵义县高三二模物理试卷及答案.docx
文档评论(0)