☀️ پردازش موازی در پایتون

Rate this post


در خواست ابر رایانه شبیه سازان امیرکبیر

پردازش موازی یک روش برنامه‌نویسی است که به برنامه‌نویسان اجازه می‌دهد که برنامه‌های خود را به گونه‌ای طراحی کنند که قسمت‌های مختلف آن‌ها همزمان اجرا شوند و بدین ترتیب، زمان اجرای آن‌ها کاهش یابد. در پایتون نیز امکان پردازش موازی وجود دارد. چندین روش برای پردازش موازی در پایتون وجود دارد که از جمله آن‌ها می‌توان به استفاده از روش‌های موجود در کتابخانه‌های multiprocessing، threading و concurrent.futures اشاره کرد. در زیر یک مثال ساده از هر یک از این روش‌ها را ارائه می‌دهم:

۱. استفاده از کتابخانه multiprocessing:

pythonimport multiprocessing
def worker(num):
"""برای محاسبه مربع یک عدد"""
print(num*num)
if __name__ == '__main__':
# تعداد پردازه‌ها مشخص می‌شود
processes = []
for i in range(10):
p = multiprocessing.Process(target=worker, args=(i,))
processes.append(p)
p.start()
for process in processes:
process.join()

۲. استفاده از کتابخانه threading:

pythonimport threading
def worker(num):
"""برای محاسبه مربع یک عدد"""
print(num*num)
if __name__ == '__main__':
# تعداد رشته‌ها مشخص می‌شود
threads = []
for i in range(10):
t = threading.Thread(target=worker, args=(i,))
threads.append(t)
t.start()
for thread in threads:
thread.join()

۳. استفاده از کتابخانه concurrent.futures:

pythonimport concurrent.futures
def worker(num):
"""برای محاسبه مربع یک عدد"""
print(num*num)
if __name__ == '__main__':
# تعداد فرآیندها مشخص می‌شود
with concurrent.futures.ProcessPoolExecutor() as executor:
executor.map(worker, range(10))

در این مثال‌ها، تعداد مربع اعداد از ۰ تا ۹ به صورت همزمان محاسبه می‌شود. لازم به ذکر است که برای برنامه‌های واقعی و پیچیده‌تر نیز می‌توان از این روش‌ها بهره برد و بهترین روش را بر اساس نیاز و شرایط مربوطه انتخاب کرد.

 


در خواست ابر رایانه شبیه سازان امیرکبیر

0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *