Le richieste vengono inviate in modo sequenziale al web server che le elabora in parallelo. Poi in modo nuovamente sequenziale ne viene letto il risultato.

Se provi il codice di esempio ti rendi conto che il tempo trascorso tra l'esecuzione di un "thread" ed il successivo è troppo basso per una reale richiesta sequenziale. Per verificarlo ti basta inserire un sleep(2) nella funzione get().