最近在学习线程,然后写了一个多线程的单例设计模式。
代码如下:- /*
- 解决一个类在内存中只存在一个对象的单例设计模式(懒汉式)
- */
- class Single implements Runnable
- {
- String name;
- private static Single s=null;
- private Single(){}
- public void run()
- {
- getInstance();
- }
- public static Single getInstance()
- {
- if(s==null)//双重锁判断的形式是为了解决代码效率性。
- {
- synchronized(Single.class)//解决多线程访问的安全性,故加同步代码块,使用的锁为该类所指的字节码文件对象(Single.class)。
- {
- if(s==null)
- {
- try{Thread.sleep(10);}catch(Exception e){}
- s=new Single();
- }
- }
- }
- return s;
- }
- }
- class Demo2
- {
- public static void main(String[] args)
- {
- Thread t1=new Thread();
- Thread t2=new Thread();
- t1.start();
- t2.start();
- //接下来如何获取到run()函数中 getInstance()返回的对象呢?
- //。。。
- }
- }
复制代码 最后不知道该如何获取到run()函数中 getInstance()返回的对象了,求各位大神帮忙解决~
|
|