幂等意味着您可以多次应用该 *** 作,但是一个调用的结果状态与多个调用的结果状态是无法区分的。简而言之,多次调用该方法是安全的。实际上,第二个和第三个(依此类推)调用对程序状态没有可见的影响。
因此,如果您一次关闭此对象并将其关闭,则您将没有足够的信息来知道它是否是幂等的。但是,如果将它关闭两次,第一次关闭,但是第二次抛出异常,则显然不是幂等的。另一方面,如果您将其关闭一次,然后将其关闭两次,并且第二次关闭导致该项目以相同的方式保持关闭状态(也许是noop),则它是幂等的。
制作幂等的一种技术
Closeable可能是:
public class Example implements Closeable { private boolean closed; public Example() { closed = false; } public void close() { if (!isClosed()) { closed = true; } } public boolean isClosed() { return closed; }}
现在很明显,如果
close()调用一次或多次,则状态的所有返回
isClosed()将永远返回true。因此,该方法
close()将被视为幂等的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)