La letra deja claro que pueden haber varias descargas a la vez, la pregunta es:
1 efectivamente tenemos que implementar multiprogramacion, o sea que existan varios procesos del mismo programa ejecutando a la vez?
o 2) dar la "impresion" de multiprogramacion, pero porque "atendemos un poquito" a cada una de las conexiones, de esa forma hay varias descargas pero solo un proceso a la vez?
si es la primer opcion sugerencias por donde hacer esto sin usar hilos?