这个幂等原语是否有正确的名称?
public class Flag
{
public bool IsSet { get; private set; }
public void Set()
{
IsSet = true;
}
}
答案 0 :(得分:3)
答案 1 :(得分:2)
我认为在e.e.这是一个Set Latch而不是Set-Reset(SR)Latch。
保险丝会是一个持久版本,需要手动更换其数据库才能重置吗?
答案 2 :(得分:1)
只能在课程中设置的标志将是来自外部的只读标志。
答案 3 :(得分:0)
如果您假设只使用方法,那么您可以用Java做什么
class Component {
private volatile boolean closed = false;
public boolean isClosed() { return closed; }
public void close() { closed = true; }
}
该字段是易失性的,因为running
或closed
标志通常由与其使用的线程不同的线程设置。
注意:即使您创建了一个字段final
,您仍然可以使用反射更改该值,因为它可以绕过安全模型(假设您的SecurityManager允许它,默认情况下会这样做)