是否与此合约有接口
start();
stop();
已经存在?
我的印象是在这里重新编码一些经典的东西......
我不这么认为,但我会说即使是这样,编写你自己的会更方便,以防万一你需要修改它并添加一个pause();
或类似的。
不,至少在不包括其他软件包的情况下不是这样,但创建一个非常容易:
public interface StartAndStoppable { //I am *terrible* at coming up with names :P
public void start();
public void stop();
}
这很好,因为您还可以在以后需要时添加新方法。
如果干净的命名不像使用标准 Java 的要求那么重要,那么:
- java.lang.Runnable.run() 作为 start()
- java.io.Closeable.close() 作为 stop()
“io” 包可能会令人困惑,但对于启动/停止嵌入式 Web 服务器来说听起来不错。没有发明自己的接口的原因可能是完整的模块解耦而没有引入第三个模块(仅包含新发明的接口)。
我从未听说过标准 Java 类中有这样的接口。
但是,遥远地提醒您正在寻找的东西可能是java.util.concurrent.FutureTask
带有方法的类run()
和cancel(boolean)
.