☀️ پردازش موازی در پایتون ✔️ شبیه سازان امیرکبیر✔️
- comsoladmin
- دستهبندی نشده

پردازش موازی یک روش برنامهنویسی است که به برنامهنویسان اجازه میدهد که برنامههای خود را به گونهای طراحی کنند که قسمتهای مختلف آنها همزمان اجرا شوند و بدین ترتیب، زمان اجرای آنها کاهش یابد. در پایتون نیز امکان پردازش موازی وجود دارد. چندین روش برای پردازش موازی در پایتون وجود دارد که از جمله آنها میتوان به استفاده از روشهای موجود در کتابخانههای multiprocessing
، threading
و concurrent.futures
اشاره کرد. در زیر یک مثال ساده از هر یک از این روشها را ارائه میدهم:
۱. استفاده از کتابخانه multiprocessing
:
import multiprocessingdef worker(num):
"""برای محاسبه مربع یک عدد"""
print(num*num)if __name__ == '__main__':
# تعداد پردازهها مشخص میشود
processes = []
for i in range(۱۰):
p = multiprocessing.Process(target=worker, args=(i,))
processes.append(p)
p.start()for process in processes:
process.join()
۲. استفاده از کتابخانه threading
:
import threadingdef worker(num):
"""برای محاسبه مربع یک عدد"""
print(num*num)if __name__ == '__main__':
# تعداد رشتهها مشخص میشود
threads = []
for i in range(۱۰):
t = threading.Thread(target=worker, args=(i,))
threads.append(t)
t.start()for thread in threads:
thread.join()
۳. استفاده از کتابخانه concurrent.futures
:
import concurrent.futuresdef worker(num):
"""برای محاسبه مربع یک عدد"""
print(num*num)if __name__ == '__main__':
# تعداد فرآیندها مشخص میشود
with concurrent.futures.ProcessPoolExecutor() as executor:
executor.map(worker, range(۱۰))
در این مثالها، تعداد مربع اعداد از ۰ تا ۹ به صورت همزمان محاسبه میشود. لازم به ذکر است که برای برنامههای واقعی و پیچیدهتر نیز میتوان از این روشها بهره برد و بهترین روش را بر اساس نیاز و شرایط مربوطه انتخاب کرد.
