幂等方法是什么意思,在调用java.lang.AutoCloseable的close方法的情况下会有哪些副作用?

幂等方法是什么意思,在调用java.lang.AutoCloseable的close方法的情况下会有哪些副作用?,第1张

幂等方法是什么意思,在调用java.lang.AutoCloseable的close方法的情况下会有哪些副作用?

幂等意味着您可以多次应用该 *** 作,但是一个调用的结果状态与多个调用的结果状态是无法区分的。简而言之,多次调用该方法是安全的。实际上,第二个和第三个(依此类推)调用对程序状态没有可见的影响。

因此,如果您一次关闭此对象并将其关闭,则您将没有足够的信息来知道它是否是幂等的。但是,如果将它关闭两次,第一次关闭,但是第二次抛出异常,则显然不是幂等的。另一方面,如果您将其关闭一次,然后将其关闭两次,并且第二次关闭导致该项目以相同的方式保持关闭状态(也许是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()
将被视为幂等的。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5487054.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存