python的单例模式:http://funhacks.net/2017/01/17/singleton/
https://www.cnblogs.com/huchong/p/8244279.html#_labelTop
https://blog.csdn.net/weicao1990/article/details/79108193
django的相同名字的logger是单例模式的:
logger1 = logging.getLogger('erebus') logger1是一个单例模式的实例
logger2 = logging.getLogger('erebus.test') logger1也是一个单例模式的实例,但是和logger1属于不同的实例
进程不是单例的:https://my.oschina.net/u/2950272/blog/1528034
单例模式应用场景:应用日志、应用配置、用来连接数据库, 就能保证有且只连接一次数据库, 避免反复连接.
单例模式长存于内存中,不会被垃圾回收,伴随程序的整个生命周期
应用配置使用单例模式的话,一个地方修改,全局生效;
网站的计数器,一般也是采用单例模式实现,否则难以同步
应用程序的日志应用,一般都何用单例模式实现,这一般是由于共享的日志文件一直处于打开状态,因为只能有一个实例去操作,否则内容不好追加
Web应用的配置对象的读取,一般也应用单例模式,这个是由于配置文件是共享的资源
多线程的线程池的设计一般也是采用单例模式,这是由于线程池要方便对池中的线程进行控制
单例模式的饿汉和懒汉模式:
a=A()表示新建一个对象实例,单例模式只会被新建一次
数据库连接池单例模式实现,限制数据库连接个数?必要性?
单例模式的线程安全性?
资料:
http://www.cnblogs.com/damsoft/p/6105122.html
https://570109268.iteye.com/blog/2414498
http://xiaorui.cc/2016/04/10/python%E5%A4%9A%E7%BA%BF%E7%A8%8B%E4%B8%8B%E4%BF%9D%E6%8C%81%E5%8D%95%E4%BE%8B%E6%A8%A1%E5%BC%8F%E7%9A%84%E5%AE%9E%E4%BE%8B%E5%94%AF%E4%B8%80/
https://blog.csdn.net/lucky404/article/details/79668131
https://www.jianshu.com/p/eeda9fdf2e03