Thread pool adalah sekumpulan worker thread yang tetap dan dapat dipakai ulang yang menarik task dari sebuah work queue bersama. Ia menghindari biaya membuat satu thread per task dan membatasi jumlah thread yang concurrent.
Mengapa menggunakannya
Membuat dan menghancurkan thread itu mahal (alokasi stack, penyiapan penjadwalan OS), dan pembuatan thread yang tak terbatas menguras memory dan menyebabkan context-switch thrashing. Sebuah pool mengamortisasi biaya pembuatan dan membatasi concurrency.
tasks → [ work queue ] → worker 1
worker 2 (N fixed workers pull & run)
worker 3
