This makes it possible to concurrently control and monitor the simulation when using gRPC. Accordingly, the gRPC server now runs on 2 threads so it can serve control and monitoring requests concurrently.