[本文属原创,如有转载,请注明出处http://blog.csdn.net/yl02520/article/]
单例模式是一种常见的软件设计模式,该模式设计的目的是只允许系统中出现一个该类的实例。在Chromium的多进程架构中,有且只有一个Browser进程,所有的Renderer进程都与Browser进程通信,共享Browser进程中的资源,为了保证每个Renderer进程获取资源的统一性,所以在Browser进程引用了大量的单例模式来设计资源类,例如AudioManager,BrowserMainLoop等。
首先简单介绍一下单例模式
public class Singleton {
private static Singleton instance;
private Singleton (){}
public static Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
上例是一个简单的java代码,在类Singleton没有公有的构造函数,也就是说不允许通过new操作符来申请一个该对象的实例,必须通过类的静态方法Singleton::getInstance()来获取,当该函数第一次被调用时就申请一个实例,以后每次访问时,就直接返回之前以申请好的实例,这就保证了在系统中保持该类的唯一实例。