En thread pool er et fast sett med gjenbrukbare arbeidertråder som henter oppgaver fra en delt arbeidskø. Den unngår kostnaden ved å opprette en tråd per oppgave og setter et tak på antall samtidige tråder.
Hvorfor bruke en
Å opprette og ødelegge tråder er kostbart (stack-allokering, oppsett av OS-planlegging), og ubegrenset trådopprettelse tømmer minnet og forårsaker context-switch-thrashing. En pool amortiserer opprettelseskostnaden og begrenser samtidigheten.
tasks → [ work queue ] → worker 1
worker 2 (N fixed workers pull & run)
worker 3
