グアバの AbstractService がどのように実装されているかを理解しようとしていました。インターフェイス Service では、さまざまな状態遷移が言及されています。そのような遷移の 1 つは、stop() の呼び出しが成功したときの STOPPING -> TERMINATED からです。
AbstractService の stop() がどのように実装されているかを見ていると、STOPPING の場合に失敗し、状態が TERMINATED に変更されないことがわかりました。
私は間違っているかもしれません。私はそれがどのように機能するかを学び、理解しようとしています.
AbstractService クラスのコードをここに示します。http://code.google.com/p/guava-libraries/source/browse/guava/src/com/google/common/util/concurrent/AbstractService.java?r=8d5659ad0e137d3a594014793264292a75b48bb9
ページで stop() を検索して、その実装を確認します