شروع کار با multiprocess

  • مدرس : علی بیگدلی
  • تاریخ انتشار: 1403/12/29
  • تعداد بازدید: 12

پیوست های این درس:


برای استفاده از ماژول multiprocessing، ابتدا باید این ماژول را وارد کنیم و سپس فرایندهای جدیدی ایجاد کنیم. در اینجا یک نمونه کد ساده برای شروع آورده شده است:

import multiprocessing

def worker_function(num):
    print(f"Process {num} is running")

if __name__ == "__main__":
    processes = []
    for i in range(4):  # ایجاد ۴ فرایند
        p = multiprocessing.Process(target=worker_function, args=(i,))
        processes.append(p)
        p.start()

    for p in processes:
        p.join()  # منتظر پایان هر فرایند می‌مانیم

توضیح کد:

  • در این کد، از multiprocessing.Process برای ایجاد فرایندهای جدید استفاده شده است.
  • هر فرایند یک تابع worker_function را اجرا می‌کند که یک شماره را چاپ می‌کند.
  • در نهایت، با استفاده از join() منتظر می‌مانیم تا همه فرایندها به اتمام برسند.

نکات مهم:

  • multiprocessing از چندین پردازنده (CPU) استفاده می‌کند و هر فرایند به‌طور مستقل اجرا می‌شود.
  • این ماژول مناسب برای پردازش‌های CPU-intensive است، زیرا از محدودیت‌های GIL (Global Interpreter Lock) که در threading وجود دارد، رهایی می‌یابیم.

ارتباط بین پردازش‌ها:

برای تبادل داده بین پردازش‌ها، می‌توان از Queue یا Pipe استفاده کرد. این ابزارها اجازه می‌دهند که داده‌ها بین پردازش‌ها به‌صورت ایمن منتقل شوند.

ثبت دیدگاه


نکته: آدرس ایمیل شما منتشر نخواهد شد

دیدگاه کاربران (0)


هیچ دیدگاهی ثبت نشده است می توانید اولین نفر باشید