একটি thread pool হলো পুনঃব্যবহারযোগ্য worker thread-এর একটি নির্দিষ্ট set যা একটি shared work queue থেকে task টেনে নেয়। এটি প্রতি task-এ একটি thread তৈরির খরচ এড়ায় এবং concurrent thread-এর সংখ্যা সীমাবদ্ধ করে।
কেন একটি ব্যবহার করবেন
thread তৈরি ও ধ্বংস করা ব্যয়বহুল (stack allocation, OS scheduling setup), এবং সীমাহীন thread তৈরি memory নিঃশেষ করে এবং context-switch thrashing ঘটায়। একটি pool তৈরির খরচ amortize করে এবং concurrency সীমাবদ্ধ করে।
tasks → [ work queue ] → worker 1
worker 2 (N fixed workers pull & run)
worker 3
