2

この冪等プリミティブの正しい名前はありますか?

public class Flag
{
    public bool IsSet { get; private set; }

    public void Set()
    {
        IsSet = true;
    }
}
4

4 に答える 4

3

tripSwitchやおそらくonSwitchはどうですか?

追加した

ラッチは、ほぼあなたが探しているものかもしれません。

于 2013-01-31T10:41:01.080 に答える
2

eeでは、これはSet-Reset(SR)ラッチではなく、セットラッチだと思います。

ヒューズは、リセットするためにデータベースを手動で交換する必要がある永続的なバージョンでしょうか?

于 2013-01-31T10:57:58.560 に答える
1

クラス内からのみ設定できるフラグは、外部からの読み取り専用になります。

于 2013-01-31T10:24:47.563 に答える
0

メソッドのみが使用されると仮定した場合、Java でできることは次のとおりです。

class Component {
    private volatile boolean closed = false;

    public boolean isClosed() { return closed; }

    public void close() { closed = true; }
}

runningorclosedフラグは、それが使用されているスレッドとは異なるスレッドによって設定されることが多いため、フィールドは揮発性です。

注:フィールドを作成してもfinal、セキュリティモデルをバイパスできるため、リフレクションを使用して値を変更できます(デフォルトで SecurityManager が許可していると仮定します)

于 2013-01-31T10:29:47.853 に答える