27

我正在阅读维基百科(http://en.wikipedia.org/wiki/Object_pool)上的对象池模式,它提到了“危险的陈旧状态”。

究竟什么是“陈旧”状态?我知道状态是变量/数据,例如我的字段和属性,但陈旧或危险陈旧是什么意思?

4

4 回答 4

45

陈旧状态是对象中不反映现实的信息。

示例:对象的成员填充了来自数据库的信息,但数据库中的基础数据在填充对象后发生了变化。

危险的陈旧状态是可能对程序的操作产生不利影响的陈旧状态,即由于对数据完整性的无效假设而导致程序不正确地执行。

于 2009-10-13T22:38:36.957 回答
4

当存储在对象中的值不再反映底层持久值时,就会发生这种情况。我想危险地陈旧只是一种说法,即价值真的过时了。

于 2009-10-13T22:38:38.273 回答
1

“陈旧状态”是指系统其余部分的对象存储(缓存)视图变得过时。例如,一个对象持有另一个对象的句柄,但同时第二个对象已被删除。

试图取消引用过时的句柄可能会导致大问题。

大多数系统会尝试自动保护您免受各种导致陈旧状态的原因,但并不总是能够涵盖所有情况。(取决于系统。)

拉里

于 2009-10-13T22:41:19.877 回答
0

基本上,这意味着无效状态。通常是不通知您的状态更改实例的副产品。

于 2009-10-13T22:38:41.573 回答