آموزش ماژول multiprocessing – کلاس Pool

Please login to bookmark Close

کلاس Pool در ماژول multiprocessing در پایتون، یک واسط برنامه‌نویسی است که برای ایجاد یک گروه از پردازش‌ها (worker processes) برای اجرای توابع موازی استفاده می‌شود. این کلاس به طور خاص برای مواقعی مفید است که نیاز است یک تعداد زیادی از فرآیندها (پردازش‌ها) را بر روی داده‌های مختلف اجرا کنیم و نتایج را جمع‌آوری کنیم. در زیر، یک مثال ساده از استفاده از Pool را بررسی می‌کنیم

مثال – محاسبه مربع اعداد

در این مثال، از Pool برای محاسبه مربع اعداد استفاده می‌کنیم. ابتدا یک Pool ایجاد می‌کنیم و سپس با استفاده از map، تابع محاسبه مربع را بر روی یک لیست اعداد اجرا می‌کنیم.

from multiprocessing import Pool

def square(x):
    return x * x

if __name__ == "__main__":
    numbers = [1, 2, 3, 4, 5]

    # ایجاد یک Pool با 3 پردازش کننده
    with Pool(processes=3) as pool:
        results = pool.map(square, numbers)

    print(results)

توضیح کد بالا:

  • خط ۳ تا ۴: یک تابع است که مربع یک عدد را حساب می‌کند.
  • خط ۱۰ تا ۱۱: در این خط مربع اعداد در ۳ پردازش به صورت موازی محاسبه می‌شوند.
    • خط ۱۰: عدد ۳ مشخص می‌کند که ۳ پردازش به صورت موازی ساخته شود. دستور with به ما کمک می‌کند که پس از اتمام کارهای مورد نیاز، Pool را به طور خودکار ببندیم و منابع مصرفی آن را آزاد کنیم. این کار باعث بهینه‌سازی استفاده از منابع سیستم می‌شود و از بروز مشکلاتی مانند نشتی منابع جلوگیری می‌کند.
    • خط ۱۱: در این خط، متغیر results به عنوان خروجی نهایی، حاوی نتایج محاسبه مربع اعداد موجود در لیست numbers است که به صورت همزمان و موازی توسط پردازش‌هایی که توسط Pool ساخته شده‌اند، محاسبه شده‌اند.
Please login to bookmark Close
نظرات

دیدگاهتان را بنویسید

فهرست مطالب

سرفصل دوره

تمرین

این قسمت تمرین ندارد!

پاسخ تمرین ها

هنوز برای تمرین‌های این قسمت پاسخی ثبت نشده است!

اشتراک گذاری

چرا بهتره از فیلترشکن استفاده کنید؟

من همه ویدئو ها و پادکست های کُدباز رو توی یوتیوب و ساندکلود و پلتفرم هایی آپلود می‌کنم که اغلب فیلتر هستند.

اغلب آموزش‌ها ویدئو و پادکست دارند. پس اگر می‌خواهید از محتوای سایت بیشترین استفاده رو ببرید نیاز به فیلتر شکن دارید.

توجه داشته باشید که برای خرید از فروشگاه بهتره فیلتر شکن رو خاموش کنید.

تنظیمات

انتخاب زبان
تغییر تم