gpt4 book ai didi

java - 代码设计 : self resetting boolean. 反对的理由?

转载 作者:行者123 更新时间:2023-11-30 07:09:13 27 4
gpt4 key购买 nike

我正在考虑一个可以重置自身的 get 方法。我的构造实际上也有效。但我不确定我是否应该避免这种情况。想法是在第一个“true”返回后,值会自动重置。在这种情况下,get 值是一个 boolean 值,它告诉我是否收到了答案。一旦我得到一个 true,该成员就应该将自己重置为 false。否则我将不得不手动执行此操作。以下是我为这个想法工作的 get 方法。如果值为 true,我将启动一个新的小线程,等待 200 毫秒并将成员重置为 false。与此同时,旧值已经返回。我的问题是,我可以/应该那样使用它还是有一些主要原因反对它?因为不知何故,我有种感觉,不推荐这种方式。

感谢您的任何意见。

public boolean isAck() {
if (acknowledged){
Thread th = new Thread() {
public synchronized void run() {
try {
Thread.sleep(200);
acknowledged = false;
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
};
th.start();}
return acknowledged;
}

最佳答案

根据您的意见,我会做这样的事情-

public boolean isAck() {
if (acknowledged) {
setAck(false);
return true;
}
return false;
}

如果您不喜欢这种方法;你可能更喜欢

public boolean isAck() {
try {
return acknowledged;
} finally {
setAck(false);
}
}

关于java - 代码设计 : self resetting boolean. 反对的理由?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23347349/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com