在一些完美运行的遗留代码中,使用了以下方法:
public class A
{
public static A First;
public static A Last;
public A Next;
public A Previous;
public A()
{
if (First == null) { First = this; }
else { Previous = Last; Previous.Next = this; }
Last = this;
}
}
这样,类型A的所有实例都按创建顺序链接,而不使用显式链接列表或其他任何内容。
事实上,我认为这是一个优雅的解决方案,但我也认为可以提出许多反对意见。我应该考虑哪些异议?
答案 0 :(得分:0)
我的主要反对意见:它不是线程安全的。如果在多个线程中使用此算法,则结果是不可预测的