سلام دوستان!
امروز میخواهیم درباره یک موضوع جالب در دنیای کامپیوتر صحبت کنیم: محاسبات همزمان (Concurrent Computing). شاید این اسم یکم پیچیده به نظر برسه، ولی نگران نباشید، سعی میکنم به زبون ساده براتون توضیح بدم.
فرض کنید دارید صبحونه درست میکنید. همزمان دارید تخممرغ میپزید، چای دم میکنید و نون تست میکنید. این یعنی دارید چند کار رو به صورت همزمان انجام میدید. توی کامپیوتر هم یه همچین چیزی ممکنه!
محاسبات همزمان یعنی اینکه یک برنامه کامپیوتری بتونه چند تا کار رو تقریباً همزمان با هم انجام بده. این کار باعث میشه که برنامه سریعتر و کارآمدتر بشه. به جای اینکه یک کار تموم بشه و بعد کار بعدی شروع بشه، چند تا کار همزمان پیش میرن.
خب، این چطوری ممکنه؟ توی کامپیوترهای امروزی، ما معمولاً چند تا هسته پردازنده (Processor Core) داریم. هر هسته میتونه یک کار رو به صورت مستقل انجام بده. محاسبات همزمان به برنامه اجازه میده که از این هستهها به طور کامل استفاده کنه.
یه مثال ساده بزنیم:
فرض کنید میخوایم یه فایل خیلی بزرگ رو از اینترنت دانلود کنیم و همزمان یه فیلم هم تماشا کنیم. اگر کامپیوتر ما فقط از محاسبات ترتیبی (Sequential Computing) استفاده کنه، اول باید دانلود تموم بشه و بعد فیلم پخش بشه. اما اگر از محاسبات همزمان استفاده کنه، میتونه همزمان دانلود کنه و فیلم رو هم پخش کنه. این خیلی عالیه، مگه نه؟
محاسبات همزمان خیلی خوبه، اما یه سری چالش هم داره:
چند تا مفهوم مهم توی محاسبات همزمان وجود داره که بد نیست باهاشون آشنا بشید:
ویژگی | محاسبات ترتیبی (Sequential) | محاسبات همزمان (Concurrent) |
---|---|---|
نحوه اجرا | کارها به ترتیب انجام میشن. | چند کار تقریباً همزمان انجام میشن. |
سرعت | معمولاً کندتر | معمولاً سریعتر |
پیچیدگی | سادهتر | پیچیدهتر |
استفاده از منابع | ممکنه از تمام منابع استفاده نشه | سعی در استفاده از تمام منابع |
این یه مثال خیلی ساده به زبون Python هست که نشون میده چطور میشه از Threadها استفاده کرد:
import threading import time def task(name): print(f"شروع کار {name}") time.sleep(2) # یه کم صبر میکنیم تا کار یه خورده طول بکشه print(f"پایان کار {name}") # ساختن دو تا Thread thread1 = threading.Thread(target=task, args=("اول",)) thread2 = threading.Thread(target=task, args=("دوم",)) # شروع کردن Threadها thread1.start() thread2.start() # منتظر میمونیم تا Threadها تموم بشن thread1.join() thread2.join() print("همه کارها تموم شد!")
این کد دو تا Thread رو شروع میکنه که هر کدوم یه پیام رو چاپ میکنن و بعد یه کم صبر میکنن. همونطور که میبینید، هر دو تا کار به صورت همزمان انجام میشن.
محاسبات همزمان کاربردهای زیادی داره، از جمله:
محاسبات همزمان یک روش قدرتمند برای بهبود کارایی برنامههای کامپیوتری هست. با استفاده از محاسبات همزمان، میتونیم برنامههایی بنویسیم که سریعتر، کارآمدتر و پاسخگوتر باشن. البته باید حواسمون به چالشهای اون هم باشه و با دقت برنامهنویسی کنیم.
امیدوارم این مطلب براتون مفید بوده باشه. اگه سوالی داشتید، حتماً بپرسید!
محاسبات همزمان، Concurrent Computing, Thread, Process, Lock, Semaphore, Mutex, برنامهنویسی, کامپیوتر, آموزش
امتیاز شما به این مطلب
امتیاز: 5 از 5 (مجموع 1 رای)
اولین نفری باشید که در مورد این مقاله نظر می دهید!
techfeed.ir© 2024 All rights reserved