دوره آموزشی راهنمای کامل برنامهنویسی موازی و همزمان با سی پلاس پلاس
4 ساعت 4 دقیقهمتوسط2025-01-24
مدرسین

Barron Stone
Electrical Engineer
جزئیات دوره
برنامهنویسی موازی توانایی اجرای همزمان دستورات متعدد را در یک برنامه فعال میکند، توان پردازش کلی را افزایش میدهد و کلید نوشتن برنامههای سریعتر و کارآمدتر است. در این دوره، به همراه مربیان Barron و Olivia Chiu Stone، با اصول برنامهنویسی موازی و همزمان در C++ آشنا شوید و دانش پایهای که برای نوشتن کدهای کارآمدتر و با عملکرد بهتر نیاز دارید را بدست آورید. Barron و Olivia مفاهیمی مانند نخریزی و استثنای متقابل را به شیوهای سرگرمکننده و آموزنده توضیح میدهند و آنها را به فعالیتهای روزمرهای که در آشپزخانه انجام میدهید ربط میدهند. برای تثبیت این مفاهیم، آنها را با استفاده از C++ بهصورت عملی نمایش میدهند. هر درس کوتاه و عملی است که نظریه را با تکنیکهای عملی تقویت میکند. در پایان این دوره، شما آماده خواهید بود تا تأثیرات عملکردی تکنیکهای برنامهنویسی موازی و همزمان را تجزیه و تحلیل کنید، معایب و مزایا را ارزیابی کنید و الگوهای برنامهنویسی مناسب را برای بهینهسازی خروجی و کارایی برنامههای C++ خود اعمال کنید.
اهداف یادگیری دوره
یادگیری اصول برنامهنویسی موازی و همزمان در C++
آشنایی با مفاهیم نخریزی و استثنای متقابل
استفاده از تکنیکهای عملی برای بهبود کارایی و سرعت برنامهها
تجزیه و تحلیل تأثیرات عملکردی تکنیکهای موازی و همزمان
ارزیابی معایب و مزایای استفاده از برنامهنویسی موازی
اعمال الگوهای مناسب برای بهینهسازی برنامههای C++
اهداف یادگیری دوره
یادگیری اصول برنامهنویسی موازی و همزمان در C++
آشنایی با مفاهیم نخریزی و استثنای متقابل
استفاده از تکنیکهای عملی برای بهبود کارایی و سرعت برنامهها
تجزیه و تحلیل تأثیرات عملکردی تکنیکهای موازی و همزمان
ارزیابی معایب و مزایای استفاده از برنامهنویسی موازی
اعمال الگوهای مناسب برای بهینهسازی برنامههای C++
مهارت ها
C++Programming FoundationsProgramming LanguagesOpen SourceSoftware DevelopmentOne-Off
سرفصل ها
0. مقدمه
- 01 - اصول برنامه نویسی موازی را بیاموزید
- 02 - آنچه باید بدانید
- 03 - نصب کد Cygwin و Visual Studio
1. سختافزار محاسباتی موازی
- 04 - محاسبات ترتیبی در مقابل محاسبات موازی
- 05 - معماریهای محاسباتی موازی
- 06 - حافظه مشترک در مقابل حافظه توزیع شده
2. موضوعات و فرآیندها
- 07 - موضوع در مقابل فرآیند
- 08 - موضوع در مقابل فرآیند - نسخه ی نمایشی C++
- 09 - اجرای همزمان در مقابل اجرای موازی
- 10 - زمانبندی اجرا
- 11 - زمانبندی اجرا - دمو C++
- 12 - چرخه عمر نخ
- 13 - چرخه حیات نخ - نسخه ی نمایشی C++
- 14 - نخ جدا شده
- 15 - نخ جدا شده - دمو C++
3. طرد متقابل
- 16 - مسابقه داده
- 17 - مسابقه داده - دمو C++
- 18 - طرد متقابل
- 19 - محرومیت متقابل - نسخه ی نمایشی C++
- 20 - اجسام اتمی - دمو C++
4. قفل
- 21 - mutex بازگشتی
- 22 - mutex بازگشتی - دمو C++
- 23 - قفل را امتحان کنید
- 24 - قفل - دمو C++ را امتحان کنید
- 25 - موتکس مشترک
- 26 - mutex اشتراکی - نسخه ی نمایشی C++
5. سرزندگی
- 27 - بن بست
- 28 - بن بست - دمو C++
- 29 - قفل رها شده
- 30 - قفل رها شده - دمو C++
- 31 - گرسنگی
- 32 - Starvation - دمو C++
- 33 - Livelock
- 34 - Livelock - نسخه ی نمایشی C++
6. همگام سازی
- 35 - متغیر شرط
- 36 - متغیر شرط - دمو C++
- 37 - تولید کننده-مصرف کننده - دمو C++
- 38 - سمافور
- 39 - سمافور - دمو C++
7. موانع
- 40 - شرایط مسابقه
- 41 - شرایط مسابقه - دمو C++
- 42 - مانع
- 43 - مانع - نسخه ی نمایشی C++
- 44 - لچ - دمو C++
8. وظایف ناهمزمان
- 45 - نمودار محاسباتی
- 46 - استخر نخ
- 47 - Thread Pool - دمو C++
- 48 - آینده
- 49 - آینده - نسخه ی نمایشی C++
- 50 - تفرقه بینداز و غلبه کن
- 51 - Divide and Conquer - دمو C++
9. ارزیابی عملکرد موازی
- 52 - سرعت، تأخیر و توان عملیاتی
- 53 - قانون امدهل
- 54 - سرعت را اندازهگیری کنید
- 55 - اندازهگیری سرعت - نسخه ی نمایشی C++
10. طراحی برنامههای موازی
- 56 - پارتیشن بندی
- 57 - ارتباطات
- 58 - تراکم
- 59 - نقشه برداری
11. مشکلات چالش
- 60 - به چالشها خوش آمدید
- 61 - چالش - ضرب ماتریسی
- 62 - حل - ضرب ماتریسی
- 63 - چالش - ادغام مرتب سازی
- 64 - راه حل - مرتب سازی ادغام
- 65 - چالش - دانلود تصاویر
- 66 - راه حل - دانلود تصاویر
نتیجه گیری
- 67 - مراحل بعدی
دوره های مرتبط
- دوره آموزشی کدنویسی امن درسی پلاس پلاس
- دوره آموزشی سی پلاس پلاس پیشرفته: ساخت پروژهها با استفاده از CMake
- دوره آموزشی برنامهنویسی تابعی در سی پلاس پلاس
- دوره آموزشی برنامهنویسی شیگرا با سی پلاس پلاس
- دوره آموزشی راهنمای کامل مبانی برنامهنویسی ++C
- دوره آموزشی ++C مدرن: تکنیکها و ویژگیهای پیشرفته
- دوره آموزشی مدیریت استثناها در سی پلاس پلاس (++C)
- دوره آموزشی سی پلاس پلاس مدرن: لامبدا