在baiduzhidao,在csdn都发贴了,没答案,所以只好到这里了[code="java"]package test;
public class ChocolateBoiler {
// Fields
private boolean empty;
private boolean boiled;
public ChocolateBoiler() {
empty = true;
boiled = false;
}
public void fill() {
if (isEmpty()) {
empty = false;
boiled = false;
}
}
public void drain() {
if (!isEmpty() && isBoiled()) {
empty = true;
}
}
public void boil() {
if (!isEmpty() && !isBoiled()) {
boiled = true;
}
}
// set省略
public boolean isEmpty() {
return empty;
}
public boolean isBoiled() {
return boiled;
}
}[/code]
书后面说“万一同时有多于一个的ChocolateBoiler实例存在,可能发生哪些很糟糕的事呢?
可能发生什么事啊?谢谢高手讲解!
[b]问题补充:[/b]
我是在看单例模式的时候,书上引用的这段代码,说如果把他写成单例的就不会有糟糕的事发生。《HeadFirst》。可能是多线程吧。书上没写那么清楚。
如果是多线程,这么写明显是有问题的。
我很纳闷儿----平时不都这么写代码吗?怎么还会有糟糕的事!(我没涉及过多线程)