本帖最后由 黑马黄文龙 于 2012-12-8 23:19 编辑
帮忙分析以下代码,在多线程中,来运用懒汉式,然后看两个线程创建的对象是否为同一个对象,后面突然没思路了.......- /*
- 需求:把单例模型运用到多线程中
- 分析:
- 1,创建一个单例模型
- 2,定义一个Test类,测试两个线程获得对象是不是同一个对象
- */
- //创建一个单例类
- class SingleOne_Thread
- {
-
- private static SingleOne_Thread one;
- private SingleOne_Thread(){}
- //对外有一个公共访问方法来获得单例类的对象
- public static SingleOne_Thread getOne()
- {
-
- if(one==null)
- {
- one=new SingleOne_Thread();
- return one;
- }
- }
-
- }
- //有实现Runnable接口的方式来创建线程,并且重写run方法
- class Thread_Test implements Runnable
- {
- public void run()
- {
- SingleOne_Thread.getOne();
- System.out.println(Thread.currentThread().getName());
-
- }
- }
- //定义一个Test类,来测试两个线程获得对象是不是同一个对象
- public class Test
- {
- public static void main(String[]args)
- {
- Runnable rt=new Thread_Test();
- Thread t1=new Thread(rt);
- Thread t2=new Thread(rt);
- t1.start();
- t2.start();
- }
- }
复制代码 |