Worker Pool مجموعه محدودی از پردازشگرها یا تردهاست که کارهای موجود در صف را دریافت می‌کنند. با محدود نگه داشتن همزمانی از اشباع CPU، پایگاه داده و سرویس‌های بیرونی جلوگیری می‌شود.

from concurrent.futures import ThreadPoolExecutor
def send_receipt(order_id):
    print('sent', order_id)
with ThreadPoolExecutor(max_workers=4) as pool:
    list(pool.map(send_receipt, [101, 102, 103]))

ThreadPoolExecutor برای کارهای I/O-bound مناسب است و معادل Queue پایدار یا پردازش چندماشینه نیست.

اصطلاحات مرتبط: ورکر، صف، بک پرشر، کانکارنسی.

ورکر پول و کنترل فشار

Worker Pool تعداد کارهای هم‌زمان را محدود می‌کند. در بارهای I/O و CPU تعداد مناسب Worker متفاوت است. صف نامحدود ممکن است مشکل را پنهان کند و مصرف حافظه را بالا ببرد.