- 1、本文档共36页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
J的ava-多线程
* 9.6 线程间通信 为了更有效地协调不同线程的工作,需要在线程间建立沟通渠道,通过线程间的“对话”来解决线程间的同步问题 java.lang.Object 类的一些方法为线程间的通讯提供了有效手段 wait() notify() 随机唤醒一个等待的线程,本线程继续执行 notifyAll() 唤醒所有等待的线程,本线程继续执行 * 9.6 线程间通信 public synchronized void withdraw(int num){ int temp = balance; if(temp =num){ try{ System.out.println(“钱不够); wait(); }catch(InterruptedException e){ } } temp = temp - num; balance = temp; System.out.println(余额为:+balance); notify(); } * 9.6 线程间通信 public synchronized void deposit(int num){ int temp = balance; if(temp =10000){ try{ System.out.println(钱太多); wait(); }catch(InterruptedException e){ } } temp = temp + num; balance = temp; System.out.println(余额为:+balance); notify(); } * 学习总结 本章总结 所掌握的内容 所遇到的困难及解决办法 * 练习 用三个线程模拟三个售票口,总共出售200张票 用3个线程模仿3个售票口的售票行为 3个线程应该共享200张票的数据 实现一个数据单元,包括学号,姓名两部分。编写两个线程,一个线程往数据单元中写,另一个线程往出读。要求每写一次就往出读一次 * java语言程序设计 信息工程学院 * 第九章 多线程 * 目录 9.1 多线程的基本概念 9.2 线程的使用 9.3 线程的优先级 9.4 线程的数据共享 9.5 线程的同步 9.6 线程间通信 * 课前思考 什么是进程? 如何让程序同时执行多个任务? * 9.1 多线程的基本概念 9.1.1 程序、进程和多任务 程序: 是数据描述与操作代码的集合 静态的 进程: 程序的一次执行过程,是操作系统运行程序的基本单位。 动态的 多任务: 指在一个系统中可以同时运行多个程序,即有多个独立运行的任务 通常,每一个任务对应一个进程 * 9.1 多线程的基本概念 9.1.2 线程 进程中的实体 程序中单个顺序的控制流 一个进程可以拥有多个线程 一个线程必须有一个父进程 与父进程的其它线程共享该进程所拥有的全部资源 进程可以创建和撤消线程实现程序的并发执行 * 9.1 多线程的基本概念 9.1.2 线程 虚拟CPU (java.lang.Thread) 执行的代码 操作的数据 * 9.1 多线程的基本概念 9.1.3 线程的生命周期与状态 生命周期 线程从创建、运行到消亡的过程 线程的状态 创建(New) 可运行(Runnable) 运行中(Running) 挂起(NotRunnable) 死亡(Dead) * 9.1 多线程的基本概念 9.1.3 线程的生命周期与状态 * 9.2 线程的使用 创建线程的两种方法 通过继承 Thread类来创建线程 建立实现 Runnable接口的类来创建线程 * 9.2 线程的使用 9.2.1 通过继承 Thread 类创建线程 例:计算某个整数的阶乘 class FactorialThread extends Thread { private int num; public FactorialThread( int num ) { this.num=num; } public void run() { //线程体 int i=num; int result=1; while(i0) { result=result*i; i=i-1; } System.out.println(The f
您可能关注的文档
- IPv6系统教的程1.ppt
- IGBT模块封装及的车用变流器设计与验证.ppt
- ip地址的的分类.ppt
- ip地的址管理与规划.doc
- IPTV的基础培训.ppt
- IP的AM模块与组态软件通讯介绍.pdf
- IP的v6地址表达方式.docx
- IPHONE刷的机教程(苹果刷机教程).ppt
- IPTV系统的架构及关键技术.ppt
- IP的地址与子网掩码.ppt
- 2024届湖北省七市教科研协作体高三第二次调研历史试卷含解析.doc
- 青海师大二附中2024年高三下学期联考历史试题含解析.doc
- 长春科技学院《英语教学法》2022-2023学年第一学期期末试卷.doc
- 江西赣中南五校2024届高考历史五模试卷含解析.doc
- 2024届山西省长治二中等五校高三适应性调研考试历史试题含解析.doc
- 2025年陇南师范高等专科学校单招职业技能考试题库带答案.docx
- 2025年四川财经职业学院单招职业技能考试题库推荐.docx
- 2025年黑龙江艺术职业学院单招职业技能测试题库带答案.docx
- 2025年商丘学院单招职业技能测试题库完整.docx
- 2025年重庆理工职业学院单招综合素质考试题库完美版.docx
文档评论(0)