c19多线程.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java 多线程机制 第 19 章 回顾 自定义对话框 Dialog 类 常用“现成”对话框 文件选择 消息提示 确认 颜色选择 目标 线程的概念 Java中线程的实现方式 共享数据的保护(同步) 线程间通信 “死锁”的概念及预防 完成多个任务的方式 2-1 串行 同一时刻,只进行一个任务 一个任务完成后,再开始另一个任务 不同任务在时间上有严格的先后顺序 只有一条“线索” 并行 同一时刻,多个任务同时进行 多个任务可同时开始 不同任务在时间上没有严格的先后顺序 有多条“线索” 完成多个任务的方式 2-2 计算机中的多任务 5-1 现实生活的本质是串、并行共存 计算机要解决现实问题,编程语言要描述现实世界,也需要串、并行共存 计算机中的并行处理,即同时处理多个任务,一般叫“多任务” 如果计算机只能以串行方式处理不同任务,一般称计算机为“单任务”的 早期的计算机是“单任务”的 现在的计算机都是“多任务”的 计算机中的多任务 5-2 多任务的优点 充分利用CPU资源,提高效率 一般服务器有多个CPU,可将不同任务分配到不同CPU ,实现真正的并行处理 单CPU是靠快速切换任务模拟并行处理。使系统的空转时间最少,提高CPU利用率。因为CPU计算速度远远快于外部设备(如打印机、键盘、网络、硬盘等)的处理速度,因而也可提高效率 设计反映敏捷的界面 简化的程序设计 用方便的模型隐藏CPU在任务间切换的事实 计算机中的多任务 5-3 计算机中的多任务 5-4 目前的实现方式 多进程 进程是指一种“自包容”的运行程序,有自己的地址空间。 一个正在运行的可执行程序就是一个进程。进程代表程序的一次动态执行过程,它对应了从代码加载、执行至执行完毕的一个完整过程 基于进程的特点是允许计算机同时运行两个或更多的程序。进程是操作系统管理内存分配的最小单位 多线程 线程是进程内部单一的一个顺序控制流,是最小的顺序执行的程序片 基于线程的多任务处理环境中,线程是操作系统管理CPU执行时间的最小单位。 一个进程在其执行过程中,可以产生多个线程,形成多条执行线索。每条执行线索也有产生、存在和消亡的过程。 计算机中的多任务 5-5 基于线程多任务处理的优点 操作系统管理开销更少 进程需要分配自己独立的地址空间;多个线程可共享相同的地址空间并且共同分享同一个进程 进程间通信涉及的开销比线程间通信多 线程间的切换成本比进程间切换成本低 Java 中的多任务 进程 从 java 类名,解释执行程序开始 一个java应用程序,就是一个进程 线程 在Java中,一个进程可以包含多个线程。 每个线程执行特定的任务,并可与其他线程并发执行 线程是Thread类的对象 主线程 在Java程序启动时,一个线程立刻运行,该线程通常称为程序的主线程 main方法就是主线程的主要执行内容 主线程的重要性 它是产生其他线程的线程 通常它必须最后完成执行,因为它执行各种关闭动作 主线程示例 public class MainThreadDemo { public static void main(String[] args) { Thread t= Thread.currentThread(); System.out.println(当前线程是: +t); t.setName(MyJavaThread); System.out.println(当前线程名是: +t); try { for(int i=0;i3;i++) { System.out.println(i); Thread.sleep(1500); } } catch(InterruptedException e) { System.out.println(主线程被中断); } } } Thread类主要方法 2-1 构造方法 public Thread() ; public Thread(Runnable?target) ; 线程体 public void run() ; 线程优先级 public final void setPriority(int?newPriority) ; public final int getPriority() ; static int MAX_PRIORITY; static int MIN_PRIORITY; static int NORM_PRIORITY; Thread类主要方法 2-2 线程启动 public

文档评论(0)

ajgoaw + 关注
文档贡献者

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

1亿VIP精品文档

相关文档