0

完全に正常に動作する一部のレガシー コードでは、次の方法が使用されます。

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 のすべてのインスタンスは、リンク リストなどを明示的に使用せずに、作成順にリンクされます。

実際のところ、私はそれを洗練された解決策だと考えていますが、多くの反論もできると思います. どの反論を考慮する必要がありますか?

4

1 に答える 1

0

私の主な異議: スレッドセーフではありません。このアルゴリズムが複数のスレッドで使用される場合、結果は予測できません

于 2012-12-03T14:42:32.690 に答える