In current ALTS java implementation, we create a shared ALTS thread and a gRPC channel to the handshaker service when we build ALTS channel. The channel to the handshaker service will already be there until application exit. It is more efficient if we can ref count the channel and free this gRPC channel if nobody is using it.
Note that ALTS C++ code does the same resource management: creates a thread and a channel to the handshaker service and only destroys them during grpc shutdown. https://github.com/grpc/grpc/blob/master/src/core/tsi/alts_transport_security.cc#L53