Thread pool huwa sett fiss ta' worker threads li jistgħu jerġgħu jintużaw u li jiġbdu tasks minn work queue kondiviża. Jevita l-ispiża li toħloq thread għal kull task u jillimita n-numru ta' threads konkorrenti.
Għaliex tuża wieħed
Li toħloq u teqred threads huwa għali (stack allocation, setup tal-OS scheduling), u l-ħolqien ta' threads bla limitu jeżawrixxi l-memorja u jikkawża context-switch thrashing. Pool jamortizza l-ispiża tal-ħolqien u jillimita l-concurrency.
tasks → [ work queue ] → worker 1
worker 2 (N fixed workers pull & run)
worker 3
