Asynchronous Comunications
There are different ways in which proxy servers can operate in order for one computer to handle requests from multiple clients. Some use synchronous communications which means that the software is busy while one request is being processed. To get around this bottleneck some proxy servers utilise multi-threading, which is a way of handling multiple connections simultaneously. However, this is not a scalable solution beyond hundreds of connections (remember that each client can have multiple connections open for images, scripts, stylesheets etc.) and a server can soon grind to a halt.
By far the best way is to use asynchronous communications. It allows the operating system to wait for data to arrive on the network before calling code in the application which means that other applications can continue to operate while Deputy is delayed by network latency. This is also a much more scalable solution allowing many hundreds of clients to be serviced by a single computer.