java设计模式-单例模式

来源:互联网 发布:gephi数据分析案例 编辑:程序博客网 时间:2024/06/11 09:41

1单例模式 需要单例的类

// 举例子 比如lol中鳄鱼 除非lol更新否则无论那个玩家选择 都会是这一个英雄的相同的技能

// 就如同皇帝 和群臣 群臣每次看见的都是同一个皇帝 除非皇帝挂了
public class Simpl {
    private static Simpl simpl = null;


    private static final String myLock = "aaa";


    private Simpl() {


    }
    public static Simpl getInstance() {
        if (simpl == null) {
            synchronized (myLock) {
                if (simpl == null) {
                    simpl = new Simpl();
                }
            }
        }
        return simpl;
    }


    public void get() {
        System.out.println("还是同一个荒野大嫖客");
    }

}


//测试主方法

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;


public class TestMain {


    public static void main(String[] args) throws InterruptedException {
        // TODO Auto-generated method stub
        ExecutorService s = Executors.newFixedThreadPool(10);
        for (int i = 0; i < 20; i++) {
            Thread.sleep(2000 - i * 100);
            s.execute(new Runnable() {


                @Override
                public void run() {
                    // TODO Auto-generated method stub
                    System.out.println(Thread.currentThread().getName());
                    Simpl.getInstance().get();
                }
            });
        }
    }


}

原创粉丝点击