题目:
单例是最为最常见的设计模式之一。对于任何时刻,如果某个类只存在且最多存在一个具体的实例,那么我们称这种设计模式为单例。例如,对于 class Mouse (不是动物的mouse哦),我们应将其设计为 singleton 模式。
你的任务是设计一个 getInstance 方法,对于给定的类,每次调用 getInstance 时,都可得到同一个实例。
样例
在 Java 中:A a = A.getInstance(); A b = A.getInstance(); a 应等于 b.
挑战
如果并发的调用 getInstance,你的程序也可以正确的执行么?
解题:
知道是面向对象什么的,不知道怎么搞,程序来源,这里给了还有判断线程冲突问题的。。。
Java程序
class Solution {
/**
* @return: The same instance of this class every time
*/
private Solution(){ }
private static volatile Solution instance = new Solution();
public static Solution getInstance() {
// write your code here
return instance ;
}
};
总耗时: 102 ms
看着好简单的。。。。
Python的我就不知道怎么写了。。。