Java第 5 章 Java的线程.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第 5 章 Java的线程.ppt

* Java面向对象程序设计教程 * 相关但无需同步线程:Kid.java * Java面向对象程序设计教程 * 互斥线程:Customer.java * Java面向对象程序设计教程 * 交互式的互斥线程:Consumer.java * Java面向对象程序设计教程 * 交互式互斥线程使用的wait/notify机制 wait方法意味着,即使线程拥有锁,由于得不到期望的数据,因无法做进一步的处理,也只能放弃锁,使线程处于等待状态,而让另一个线程继续工作。 notify方法可以通知位于等待队列中的任何一个线程,但不一定按照FIFO的顺序进行而是遵循JVM的调度。 notify与notifyAll方法之间的差别是: notifyAll方法将唤醒等待当前对象的所有线程,对于所有读取同一信息或者等待同一答案的消费者等待队列而言,这种方法是恰当的。 调用wait/notify的方法必须声明为synchronized,否则将引发运行时异常java.lang.IllegalMonitorStateException。 多线程处理事务中调用notifyAll方法 * Java面向对象程序设计教程 * PickerPool.java java.util.concurrent包简介 并发编程在项目开发中很常用。在JDK1.5之前,这些工作通常需要由程序员自己完成代码实现。而JDK1.5中包含的java.util.concurrent很好地解决了这些问题,为我们提供了实用的并发程序模型,其中包括几个小的标准化可扩展框架,以及一些提供有用功能的类。 举例:BlockingQueueSample.java * Java面向对象程序设计教程 * Java面向对象程序设计教程 第 5 章 Java的线程 * Java面向对象程序设计教程 * 主要内容 5.1 线程的概念与POSIX标准 5.1.1 线程的概念 5.1.2 线程的POSIX标准 5.2 多线程的Java实现 5.2.1 线程的创建方法 5.2.2 线程的状态 5.3 互斥线程间的同步机制 5.3.1 多线程带来的冲突问题 5.3.2 共享资源合理使用的实现 5.3.3 按同步协调程度划分的线程间的关系 5.4 java.util.concurrent包简介 5.1 线程的概念与POSIX标准 * Java面向对象程序设计教程 * 线程的概念 线程其实是控制线程(Thread of control)的简写。 控制线程就是程序运行时的路径,是在一个程序中与其它控制线程无关的能够独立运行的代码片段。 与线程有关的几个名词: 进程与线程 并发性与并行性 异步与同步 * Java面向对象程序设计教程 * 基于进程的多任务处理环境 进程是重量级的内核级实体,需要分配它们自己独立的地址空间:包括有虚拟内存映射、文件描述符、用户ID等,并且每个进程都有属于自己的这些集合。用户的程序要访问进程结构中的数据、查询或改变状态,唯一方法是通过系统调用。进程间通信和转换是昂贵和受限的。 * Java面向对象程序设计教程 * 基于线程的多任务处理环境 线程是轻量级实体,由寄存器、堆栈和某些数据组成。进程结构的其余部分由所有的线程所共享:如地址空间、文件描述符等——它们共享相同的地址空间并且共同分享同一个进程。线程间通信是便宜的,线程间的转换也是低成本的。 * Java面向对象程序设计教程 * 线程并发 并发性(Concurrency)是两个或多个线程(或传统的进程)可以同时在执行代码之中;可以是相同的代码,也可以是不同的代码。这些线程可以一次执行,也可以多次执行,即一个已开始执行但被中断,而另外一个已开始了。 但在给定的时间点上,只有一个在CPU在处理一个线程 。 * Java面向对象程序设计教程 * 线程并行 并行性(Parallelism)是针对多处理器环境而言的,是指两个或多个线程真正同时运行在不同的CPU上。 在多处理器机上,很多不同的线程可以并行运行,或者说是同时运行。 * Java面向对象程序设计教程 * 异步与同步 异步世界需要处理同步业务 有3个人在3个收银台前结帐 3个人结帐是异步的 每个人信用卡在银行业务处理时需保证同步 * Java面向对象程序设计教程 * 线程的POSIX标准 5.2 多线程的Java实现 * Java面向对象程序设计教程 * 主线程 通过调用Thread类的currentThread方法来查看主线程: Thread.currentThread() 举例:MainThread.java * Java面向对象程序设计教程 * 创建线程有两种方式 通过直接扩展Thread类来直接创建线程: public class RacingThread

文档评论(0)

lzhlmcl + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档