摘要: 一、线程的状态 线程对象在不同的运行时期有不同的状态,状态信息就存在于State枚举类中。 调用与线程有关的方法后,会进入不同的线程状态,这些状态之间某些是可双向切换的,比如WAITING和RUNNING状态之间可以循环地进行切换;而有些是单向切换的,比如线程销毁后并不能自动进入RUNNING状态。 阅读全文
posted @ 2018-05-04 16:45 BigJunOba 阅读(612) 评论(0) 推荐(0) 编辑
摘要: 在使用多线程技术的单例模式时会出现一些意想不到的情况,这样的代码如果在生产环境中出现异常,有可能造成灾难性的后果。 一、立即加载/“饿汉模式” 立即加载就是使用类的时候已经将对象创建完毕,常见的实现方法就是直接new实例化。立即加载/“饿汉模式”是在调用方法前,实例已经被创建了。 示例:从输出结果可 阅读全文
posted @ 2018-05-04 16:40 BigJunOba 阅读(428) 评论(0) 推荐(0) 编辑
摘要: 一、定时器Timer的使用 在JDK库中Timer类主要负责计划任务的功能,也就是在指定的时间开始执行某一个任务。Timer类的主要作用就是设置计划任务,但封装任务的类确实TimerTask类,执行计划任务的代码要放入TimerTask类的子类中,因为TimerTask是一个抽象类。 1.方法sch 阅读全文
posted @ 2018-05-04 16:37 BigJunOba 阅读(459) 评论(0) 推荐(0) 编辑
摘要: 一、使用ReentrantLock类 在Java多线程中,可以使用synchronized关键字来实现线程之间的同步互斥,但ReentrantLock类也能达到同样的效果,并且在扩展功能上也更加强大,比如具有嗅探锁定、多路分支通知等功能,而且在使用上也比synchronized更加的灵活。 1.使用 阅读全文
posted @ 2018-05-04 16:33 BigJunOba 阅读(708) 评论(0) 推荐(0) 编辑