首页 >  JAVA频道 > 实训项目 > 

多线程单实例

多线程单实例

作者:yjl 来源:华育国际 时间:2015-02-27 访问次数:1496
只要多线程能成功获取单例(即多线程获得的单例实例是相同的),必然能共享单例的状态 * 注意: * 1、单实例,被一个线程调用时,另一个线程也可以同时调用
/**
 * 只要多线程能成功获取单例(即多线程获得的单例实例是相同的),必然能共享单例的状态
 * 注意:
 * 1、单实例,被一个线程调用时,另一个线程也可以同时调用
 * 2、但同一个时刻,单实例的某个成员方法(成员变量?)可以被多个线程访问??实验结果好像是的(反例很少,担心是程序问题)
 * 3、某个时刻,某个线程调用单实例的某个成员方法A访问资源r,那么同时,另一个线程B可以调用单实例的其它成员方法B访问资源r??个人觉得应该是的,但实验结果好像不是的
 
 * 单实例,最好不要有成员变量,都改为局部变量(方法中的参数、声明)。
 * 局部变量是线程安全的。
 * 如果一定需要成员变量,http://blog.csdn.net/shiyanming1223/article/details/6933420
 
 * 同步属性方法解决属性读写,会增加时间开销(同一时刻只用一个线程可以访问该属性方法)
 
 
 * 下面的程序是验证用的,实际中千万别用。
 * 【最佳单实例生成方式: 
     *  public class Singleton{        
            private Singleton(){        
                …        
            }        
            private static class SingletonContainer{        
                private static Singleton instance = new Singleton();        
          &nb