- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java语言程序设计第十一章 多线程编程 讲授人:傅晓阳 教授 本章课程纲要 本课程纲要 多任务处理 进程是指一种调到内存中执行的运行程序,有自己的地址空间;线程是进程内部单一的一个顺序控制流 基于进程的特点是允许计算机同时运行两个或更多的程序。 基于线程的多任务处理环境中,线程是最小的处理单位。 线程与进程的区别 实现线程的方法 通过以下两种方法创建 Thread 对象: 声明一个 Thread 类的子类,并覆盖 run() 方法。 class mythread extends Thread { public void run( ) {/* 覆盖该方法*/ } } 声明一个实现 Runnable 接口的类,并实现 run() 方法。 class mythread implements Runnable{ public void run( ) {/* 实现该方法*/ } } 继承Thread类 线程程序执行代码 public void run( ) 启动线程 public void start( ) 参见例题12-1 通过接口Runnable构造线程类 类声明形式 public class A extends B implements Runnable { // ... public void run( ) { // ... } } 通过接口Runnable构造线程类 构造和启动线程的方法 A a = new A( ); Thread t = new Thread(a); t.start( ); 参见例题12-2 本课程纲要 线程周期 线程的周期 新建状态(New) 就绪状态(Runnable) 运行状态(Running) 阻塞状态(Blocked) 终止状态(Dead) 本课程纲要 线程优先级 JAVA中每个线程都有优先级. 缺省时,线程继承父进程的优先级 设置优先级的原则: 占用资源较多的线程优先级设置较低 占用资源较少的线程优先级设置较高 优先级是否起作用还取决于线程所运行的操作系统. 参见例题12-3 线程优先级 Java 中的线程优先级是在 Thread 类中定义的常量 NORM_PRIORITY : 值为 5 MAX_PRIORITY : 值为 10 MIN_PRIORITY : 值为 1 缺省优先级为 NORM_PRIORITY 有关优先级的方法有两个: final void setPriority(int newp) : 修改线程的当前优先级 final int getPriority() : 返回线程的优先级 Thread 类中的重要方法 Thread 类中的重要方法 线程的常用控制方法 Thread.sleep():表示线程暂时停止运行一段时间,在这段时间内线程处于阻塞状态,将不能运行,当休眠时间结束后,线程将进入可运行状态。 join()方法:如果线程的语句中调用了join方法,那么当前线程一定要等待调用join的线程运行完了才会运行。 .Thread.yield()方法 :当前线程调用该方法后将放弃运行状态,给其它优先级相同的、处在可运行状态的线程运行的机会。 参见例题12-3和12-4 本章课程纲要 本课程纲要 为何需要线程同步 多线程程序需要在线程中共享公共资源 线程之间会并发工作 线程需要协调工作来避免随机并发工作带来的问题 线程同步处理可以使线程协调工作。 线程同步与异步的区别 如何在 Java 中获得同步 两种方式实现同步: 使用同步方法 synchronized void methodA() { } 使用同步块 synchronized(object) { //要同步的语句 } 本课程纲要 使用同步方法 class One { synchronized void display(int num) { System.out.print(+num); try { Thread.sleep(1000); } catch(InterruptedException e) { System.out.println(中断); } System.out.println( 完成); } } 使用同步方法 本课程纲要 使用同步块 class One { void display(int num) { System.out.print(+num); try {
您可能关注的文档
- GIS的数据获取与处理GIS的数据获取与处理.doc
- GL-QP-22 A1环氧乙烷灭菌验证控制程序GL-QP-22 A1环氧乙烷灭菌验证控制程序.doc
- GMP认证现场检查情况分析GMP认证现场检查情况分析.doc
- GMP软件学习试题改GMP软件学习试题改.doc
- EXCEL财务应用函数EXCEL财务应用函数.ppt
- GnuCash使用手册-简易版GnuCash使用手册-简易版.doc
- good 计算机操作系统期末考试题及答案good 计算机操作系统期末考试题及答案.doc
- GoldenGate常用参数GoldenGate常用参数.ppt
- GPS试题库与答案修订GPS试题库与答案修订.doc
- GPRS技术支持服务平台构架方案 - 电源在线网GPRS技术支持服务平台构架方案 - 电源在线网.ppt
- CNAS-CL63-2017 司法鉴定-法庭科学机构能力认可准则在声像资料鉴定领域的应用说明.docx
- 12J7-3 河北《内装修-吊顶》.docx
- 12N2 河北省12系列建筑标准设计图集 燃气(油)供热锅炉房工程.docx
- 内蒙古 12S8 排水工程 DBJ03-22-2014.docx
- 山西省 12S10 12系列建筑标准设计 管道支架、吊架.docx
- 16J601-木门窗标准图集.docx
- 12J8 河北省12系列《 楼梯》.docx
- CNAS-GL37 2015 校准和测量能力(CMC)表示指南.docx
- CNAS-RL02-2016 能力验证规则.docx
- 津02SJ601 PVC塑料门窗标准.docx
最近下载
- 2024年广州市高三二模(普通高中毕业班综合测试(二)数学试卷(含官方答案及逐题解析).pdf
- 武汉市2025届高中毕业生四月调研考试(四调)数学试卷(含答案详解).pdf
- (毕业论文)果树采摘机器人的发展现状及运动学分析.doc VIP
- 【高中语文】双新背景下的语文教学设计+85.pptx VIP
- 雨课堂学堂在线《兵棋(中国人民武装警察部队警官学院)》学堂云单元测试考核答案.pdf VIP
- 11.3 一元一次不等式组(教学设计)七年级数学下册(人教版2024).docx
- 年产1万吨一氯甲烷的工艺流程设计.doc
- 医疗器械质量管理制度-全套规章制度.docx VIP
- 木材质量v验收标准.doc
- 直肠癌(外科学课件).ppt VIP
文档评论(0)