黑马程序员-单例设计模式线程安全
来源:互联网 发布:java循环阶乘 编辑:程序博客网 时间:2024/06/07 17:03
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
单例设计模式:
1、恶汉式
2、懒汉式
此处有三个考点:
1、懒汉式单例模式,当多线程时会产生安全问题。当多个线程同时进入了if(s==null)判断语句内,则会出现new出多个对象,与单例设计相违背。
2、同步函数的锁是this,而静态同步函数的锁是本身Class对象 Single.class
3、加同步即可解决线程安全问题,此方式虽然解决了多线程安全问题,但是线程每次执行到此处都需判断锁,效率很低。外加if双重判断,即可提高效率。
class Single //恶汉式{private static final Single s =new Single();private Single(){}public static Single getInstance(){return s;}}
class Single //考点1:懒汉式单例模式,当多线程时会产生安全问题。{private static Single s=null;private Single(){}public static Single getInstance(){if(s==null){synchronized(Single.class)//考点2:静态函数内的锁只能是本身类对象Single.class。{ //考点3:此方式虽然解决了多线程安全问题,但是线程每次执行到此处都需判断锁,效率很低, // 外加if双重判断,即可提高效率。if(s==null){s=new Single();}}}return s;}}
0 0
- 黑马程序员-单例设计模式线程安全
- 黑马程序员———单例设计模式-懒汉式关于线程安全以及要点
- 黑马程序员--java基础--线程,单例设计模式
- 黑马程序员_09. api-线程、单例设计模式
- 设计模式-线程安全单例
- 黑马程序员_单例设计模式
- 黑马程序员_单例设计模式
- 黑马程序员 单例设计模式
- 黑马程序员_单例设计模式
- 黑马程序员_单例设计模式
- 黑马程序员-单例设计模式
- 黑马程序员---单例设计模式
- 黑马程序员:单例设计模式
- 黑马程序员-单例设计模式
- 16.黑马程序员-设计模式-单例
- 黑马程序员_单例设计模式
- 《黑马程序员》单例设计模式
- 黑马程序员_java 单例设计模式
- wparam和lparam的思考
- 有梦才可以到达远方
- ArcMap10 生成MSD文档
- c#初步
- Flash Builder中修改字体
- 黑马程序员-单例设计模式线程安全
- POJ3041 - Asteroids
- C#使用GetPrivateProfileString取得INI文件中的值
- linux maven伺服器nexus工作目录修改
- mac 10.9 下编译boost
- MAC OSX10.9 下编译使用OGRE1.9及CEGUI 0.8.3(二)OGRE Templates的使用
- linux下socket编程实例
- java.lang.reflect学习
- IOS socket编程--Asyncsocket(转)