在guava'中的stop()实现;抽象服务类
我试图了解guava的AbstractService是如何实现的。在接口服务中提到了各种状态转换。其中一种转换是从停止->在调用stop()成功时终止 现在,当我看到AbstractService的stop()是如何实现的时,我发现在案例停止时,它们会失败,并且不会将状态更改为TERMINATED 我可能错了,我只是想学习和理解它是如何工作的 这里给出了AbstractService类的代码在guava'中的stop()实现;抽象服务类,guava,Guava,我试图了解guava的AbstractService是如何实现的。在接口服务中提到了各种状态转换。其中一种转换是从停止->在调用stop()成功时终止 现在,当我看到AbstractService的stop()是如何实现的时,我发现在案例停止时,它们会失败,并且不会将状态更改为TERMINATED 我可能错了,我只是想学习和理解它是如何工作的 这里给出了AbstractService类的代码 在页面上搜索stop()以查看其实现当您在RUNNING状态下调用stop()时,状态更改为STOPPI
在页面上搜索stop()以查看其实现当您在
RUNNING
状态下调用stop()
时,状态更改为STOPPING
,并调用doStop()
方法。在此之后再次调用stop()
,将不会产生任何效果。doStop()
实现应该调用notifyStopped()
,它将状态从STOPPING
更改为TERMINATED
当您在RUNNING
状态下调用stop()
时,状态将更改为STOPPING
,并调用doStop()
方法。在此之后再次调用stop()
,将不会产生任何效果。doStop()
实现应该调用notifyStopped()
,将状态从STOPPING
更改为TERMINATED,实际上我发现这种情况永远不会发生。有人能证实我的想法是正确的吗?事实上,我发现这种情况永远不会发生。有人能确认我的想法是正确的吗。