एक thread pool पुन: उपयोग करने योग्य worker threads का एक निश्चित सेट है जो एक साझा work queue से tasks खींचते हैं। यह प्रति task एक thread बनाने की लागत से बचता है और समवर्ती threads की संख्या को सीमित करता है।
एक का उपयोग क्यों करें
Threads बनाना और नष्ट करना महँगा है (stack allocation, OS scheduling सेटअप), और असीमित thread निर्माण memory को समाप्त कर देता है और context-switch thrashing का कारण बनता है। एक pool निर्माण लागत को amortize करता है और concurrency को सीमित करता है।
tasks → [ work queue ] → worker 1
worker 2 (N fixed workers pull & run)
worker 3
