I thread nei pool di thread sono spesso definiti "thread di lavoro" per validi motivi. Sono come alcuni lavoratori in un'azienda, pronti a lavorare su alcuni "compiti", ognuno dei quali richiede uno spazio di lavoro per lavorare, ognuno dei quali ha la coda di elaborazione da eseguire.
Avviare una discussione solo per eseguire un'attività è come trovare le risorse per assumere qualcuno appositamente per questa attività, facendola eseguire, quindi licenziandola.
Ovviamente, se l'attività è molto lunga, rara e specifica, potrebbero non esserci problemi, ma più spesso questo si verifica, più è costoso.
In questo caso, basta mettere l'attività in cima alla coda dei compiti di un lavoratore può essere sufficiente. Se impiega troppo tempo per iniziare a lavorarci, un altro lavoratore che non avrà più compiti da svolgere può rubare l'incarico dalla sua coda. Se nessun lavoratore è disponibile per qualche tempo, significa che non hai abbastanza lavoratori o non può essere fatto velocemente con le risorse disponibili. In particolare, se hai già la quantità massima di lavoratori che puoi utilizzare senza che tutti camminino a piedi di altri, come in un pool di thread, allora non puoi farci nulla se non avere un posto più grande (hardware migliore) o ridurre il carico di lavoro .
Questa analogia può anche facilmente spiegare il costo di interruzione e comunicazione.