If you have ever written a production multi-threaded server in Java, you know how difficult it is to implement load balancing between worker threads. You need to fight many issues to have a good load balancer: You need to limit the number of worker threads somehow, as an unlimited thread pool can exhaust memory. You need to implement a sophisticated procedure for a clean worker shutdown. If you ar

