class ServerImpl extends io.grpc.Server implements InternalInstrumented<ServerStats> {

  @Override
  public ServerImpl start() throws IOException {
    synchronized (lock) {
      checkState(!started, "Already started");
      checkState(!shutdown, "Shutting down");
      // Start and wait for any port to actually be bound.
      transportServer.start(new ServerListenerImpl());
      executor = Preconditions.checkNotNull(executorPool.getObject(), "executor");
      started = true;

      //----begin----服务启动时，自动向zk注册Provider信息----
      new Thread(registerRunnable, SERVER_REGISTRY_THREAD_NAME).start();
      //----end----服务启动时，自动向zk注册Provider信息----

      return this;
    }
  }

    ServerImpl(
      AbstractServerImplBuilder<?> builder,
      InternalServer transportServer,
      Context rootContext);

}