Bir thread pool, paylaşılan bir iş kuyruğundan görev çeken sabit sayıda yeniden kullanılabilir worker thread kümesidir. Görev başına bir thread oluşturma maliyetini önler ve eşzamanlı thread sayısını sınırlar.
Neden kullanılır
Thread oluşturmak ve yok etmek pahalıdır (stack tahsisi, OS scheduling kurulumu) ve sınırsız thread oluşturma belleği tüketir ve context-switch dövülmesine neden olur. Bir pool, oluşturma maliyetini amorti eder ve eşzamanlılığı sınırlar.
tasks → [ work queue ] → worker 1
worker 2 (N fixed workers pull & run)
worker 3
