《面向对象程序设计》全套教学课件.ppt

  1. 1、本文档共254页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
线程调度 调整各个线程的优先级 Thread 类中表示优先级的静态常量 static int MAX_PRIORITY: 最高优先级,取值为10。 static int MIN_PRIORITY: 最低优先级,取值为1。 static int NORM_PRIORITY: 默认优先级,取值为5。 设置优先级的方法 void setPriority(int newPriority): 设定线程的执行优先级。数字越大,优先级越高。 int getPriority(): 得到线程的优先级值。 线程调度 Thread.sleep(long millins)方法 线程执行sleep方法时,放弃CPU进入阻塞状态 参数为长整型,表示sleep时间,以毫秒为单位 Thread.yield()方法 线程执行yield方法时,将放弃CPU,将CPU交给就绪队列中同等优先级的线程,自己回到就绪状态 如果就绪队列中没有同等优先级的线程,则yield方法什么也不会做 两者的区别 sleep不考虑优先级,而yield要考虑优先级 sleep后进入阻塞状态,yield后进入就绪状态 sleep会抛出InterruptedException,而yield不会 sleep方法的可移植性更好 线程调度 join() 方法:等待其他线程结束 在当前线程中调用另外一个线程的join方法,当前线程将转到阻塞状态,直至另外一个线程运行完毕后才恢复运行。 join()方法会抛出InterruptedException 后台线程 后台线程:为其他线程提供服务的线程,也称为守护线程。 后台线程与前台线程相伴相随,只有全部前台线程结束生命周期,后台线程才结束生命周期 主线程默认情况下是前台线程 用Thread的setDaemon(true)可将一个线程设置为后台线程,但必须在调用start()方法之前设置 Thread的isDaemon()方法可判断一个线程是否是后台线程 线程同步 当多个线程同时读写同一份共享资源的时候,可能会引起冲突 我们需要引入线程“同步”机制,保证线程在对共享资料进行操作时的独享性,这种操作也称为原子操作 同步机制的原理:为共享资源加上“同步锁” 实现机制:synchronized关键字 线程同步 synchronized关键字的用法 private int resource; public synchronized void synMethod(){ resource++; } private int resource; public void synMethod(){ synchronized(lock){ resource++; } } 线程同步 线程同步的特征 同步代码块与非同步代码块同时操作共享资源时,也会造成竞争; 每个对象都有唯一的同步锁 静态方法也可以使用synchronized关键字 线程执行同步代码时,也可以进行中断,但中断时并不释放同步锁 数组的使用 工具类,提供了常用的数组操作方法: SDK中:Arrays类 第三方:ArrayUtils类(Apache Commons Lang) 应用: 打印数组、数组的排序、数组的拷贝、合并数组、检查某个元素是否存在、元素反转、移除元素、转换为集合 Java集合框架 Java API中设计了一组集合类,表示一组Java对象组成的数据结构,这样的类也可以看出是存储对象的容器。 这一组类以及相关的接口被统称为Java集合框架(Collection Framework),定义在java.util包 集合中的Java对象可以有不同的组成形式: 重复或不重复的对象 有序或无序的对象 是否是与键值映射的对象等 Java集合框架 三种集合: Set:一种不包含重复的元素的无序Collection List:有序的Collection,类似于数组,可看成长度可变数组 Map:一种把键对象和值对象进行关联并存储的容器 Java集合框架 Java Collection框架中的接口 Java集合框架-Collection Java集合框架 Iterable接口(java.lang) 实现了Iterable接口的类都是可迭代的,并包含一个迭代器 Collection接口 集合类的基本接口,Set与List的父接口,定义了集合类(Set与List)的通用方法 添加对象、删除对象、获取长度、遍历等 Iterator接口 对 collection 进行迭代的迭代器。 Java SE5.0后,集合类的参数为泛型类 Collection接口的方法 Iterator接口的方法 Java集合框架-List List接口 有序的元素(对象)集合,也称为序列,可包含重复元素,允

您可能关注的文档

文档评论(0)

autohhh + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档