[线程]——线程同步与锁定2_synchronized
来源:互联网 发布:java报表 编辑:程序博客网 时间:2024/05/22 14:27
/** * 单例设计模式:确保一个类只有一个对象 * @author Administrator * */public class SynDemo02 {public static void main(String[] args) {JvmThread thread1=new JvmThread(200);JvmThread thread2=new JvmThread(600);thread1.start();thread2.start();}}class JvmThread extends Thread{private long time;public JvmThread() {}public JvmThread(long time) {this.time=time;}@Overridepublic void run() {System.out.println(Thread.currentThread().getName()+"---->"+Jvm.getInstance3(1000));}}/** * 设计模式 * 确保一个类只有一个对象 * 懒汉模式 double double checking * 1、构造器私有化,避免外部直接创建对象 * 2、声明一个私有的静态变量 * 3、创建一个对外的公共的静态方法访问改变量,如果变量没有对象,创建该对象 * @author Administrator * */class Jvm{//1、声明一个私有的静态变量private static Jvm instance=null;//2、构造器私有化,避免外部直接创建对象private Jvm(){}//3、创建一个对外的公共的静态方法访问改变量,如果变量没有对象,创建该对象public static Jvm getInstance3(long time){//静态资源,只有一份!!!// 提高效率,提供已经存在对象的访问效率if (null==instance) {synchronized(Jvm.class){if (null==instance) {try {Thread.sleep(time);//延时,方法发生错误} catch (InterruptedException e) {e.printStackTrace();}instance=new Jvm();}}}return instance;}public static Jvm getInstance2(long time){//静态资源,只有一份!!!synchronized(Jvm.class){if (null==instance) {try {Thread.sleep(time);//延时,方法发生错误} catch (InterruptedException e) {e.printStackTrace();}instance=new Jvm();}return instance;}}public static Jvm getInstance1(long time){//静态资源,只有一份!!!if (null==instance) {try {Thread.sleep(time);//延时,方法发生错误} catch (InterruptedException e) {e.printStackTrace();}instance=new Jvm();}return instance;}}
0 0
- [线程]——线程同步与锁定2_synchronized
- [线程]——线程同步与锁定1_synchronized
- 线程的同步与锁定
- 3、线程安全_synchronized
- 线程的同步与锁定-synchronized初解
- java线程技术5_synchronized
- Java线程的同步与锁-java同步和锁定
- java学习初探十八之线程的线程同步_锁机制_synchronized
- 线程同步 资源锁定(一)
- 线程同步与锁定_synchronized_单例模式_doubleCheckingJAVA178-179
- 线程同步---释放同步监视器的锁定
- 线程、同步与锁——Mutex
- 线程——同步与死锁
- 线程同步 资源锁定(二)Event
- 线程同步 资源锁定(三)Event_CoundownEvent
- 线程同步 资源锁定(四)Barrier类
- 线程同步之锁定临界区
- synchronized 线程同步-类级别锁定
- HDU 5663 (莫比乌斯反演)
- 【步兵 cocos-js】cc.EditBox 的 快速创建
- Swift3.0获取APP版本号,提示用户升级
- 练习二1017
- oracle学习 第一章 简单的查询语句 ——04
- [线程]——线程同步与锁定2_synchronized
- 项目4——静态成员应用
- java中hashCode方法与equals方法的用法
- hdu 1075 Trie树
- 基于Java的tcp实现文本聊天系统
- springMVC
- Android Activity启动模式全面解析
- mysql在互联网应用设计和开发中的注意事项
- chrome浏览器不兼容jQuery Mobile问题解决