use atomic variable to fix TcpServer::start thread-safety issue