- 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
- XX中医药大学关于为我校档案馆档案管理系统维保单一来源采购项目组织咨询论证的公告(2024年).docx
- XX中医药大学关于为我校药学院食品微生物实验教学仪器采购项目组织咨询论证的公告(2024年).docx
- XX中医药大学关于为我校研究生院研究生自主打印管理系统采购项目组织咨询论证的公告(2024年).docx
- XX中医药大学关于为我校药学院实验室安全建设(试剂柜)采购项目组织咨询论证的公告(2024年).docx
- XX中医药大学关于为我校临床医学院中西医结合儿科、妇科采购项目组织咨询论证的公告(2024年).docx
- XX中医药大学关于为我校图书馆古籍修复设备工具采购项目组织咨询论证的公告(2024年).docx
- 信息技术支持下的个性化学习模式探索教学研究课题报告.docx
- 大数据时代的教育教学方式变革研究教学研究课题报告.docx
- XX中医药大学关于为我校省级药理学科实验教学中心升级改造项目组织咨询论证的公告(2024年).docx
- XX中医药大学关于为我校研究生学位论文第三方平台委托送审项目咨询论证的公告(2024年).docx
文档评论(0)