Thread pool ialah set tetap thread pekerja (worker thread) yang boleh diguna semula yang menarik tugasan daripada baris gilir kerja (work queue) yang dikongsi. Ia mengelakkan kos mencipta satu thread bagi setiap tugasan dan mengehadkan bilangan thread serentak.
Mengapa menggunakannya
Mencipta dan memusnahkan thread adalah mahal (peruntukan stack, persediaan penjadualan OS), dan penciptaan thread tanpa had menghabiskan memori dan menyebabkan pengasakan penukaran-konteks (context-switch thrashing). Pool mengamortisasi kos penciptaan dan mengehadkan keserentakan.
tasks → [ work queue ] → worker 1
worker 2 (N fixed workers pull & run)
worker 3
