آموزش Multithreading با C++ مدرن

Learn Multithreading with Modern C++

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: یاد بگیرید که چگونه کد C++ رشته ای قابل حمل بنویسید که قدرت سخت افزار مدرن چند پردازنده ای را آزاد می کند! نحوه نوشتن کدهای پرتابل چند رشته ای در C++ اصول اولیه چند رشته ای که در همه زبان ها قابل اجرا خواهد بود درک همزمانی دانش الگوریتم های موازی C++17 پیش نیازها: آشنایی با ویژگی های پیشرفته و مدرن C++ مانند عبارات لامبدا و معناشناسی حرکتی دسترسی به کامپایلر C++11 (ترجیحاً C++14.) الگوریتم‌های موازی به C++17 نیاز دارند که برای دانش‌آموزانی در نظر گرفته شده است که دوره‌های من را گذرانده‌اند «Learn Advanced Modern C++» یا «Update to Modern C++» تسلط به زبان انگلیسی (سطح B2، ترجیحا C1)

Multithreading در بسیاری از زمینه‌های محاسباتی از جمله پردازش گرافیکی، یادگیری ماشین و فروشگاه‌های اینترنتی استفاده می‌شود. برای استفاده کامل از قابلیت‌های سخت‌افزار مدرن، درک رشته‌ها ضروری است.

C++ اکنون پشتیبانی مستقیم از رشته‌ها را فراهم می‌کند و نوشتن برنامه‌های چند رشته‌ای قابل حمل را که رفتاری کاملاً مشخص دارند، بدون نیاز به کتابخانه‌های خارجی ممکن می‌سازد.

این دوره به طور کامل اصول threading را پوشش می دهد و شما را برای کار پیشرفته تر با نخ ها آماده می کند. کد منبع برای همه نمونه ها ارائه شده است. هیچ دانش قبلی در مورد Threading مورد نیاز نیست، اما باید با برنامه نویسی C++ در سطح متوسط ​​راحت باشید.

این دوره با مرور ویژگی های جدیدتر C++ که در این دوره استفاده می شود آغاز می شود. اگر می‌خواهید پوشش کامل‌تری داشته باشید، می‌توانید با گذراندن دوره آموزشی من "Learn Advanced Modern C++" این را دریافت کنید.

سپس مفاهیم multithreading را پوشش می‌دهیم و نحوه راه‌اندازی رشته‌ها را در C++ یاد می‌گیریم. ما به مشکلاتی که ممکن است با موضوعات متعدد رخ دهد و نحوه اجتناب از آنها نگاه می کنیم.

C++ ابزارهایی را فراهم می کند که به ما اجازه می دهد در سطح بالاتری از انتزاع کار کنیم تا رشته های سیستمی که داده ها را به اشتراک می گذارند. ما متغیرهای شرط و وعده ها را با قراردادهای آتی پوشش می دهیم. ما همچنین به برنامه‌نویسی ناهمزمان، بدون قفل و موازی، از جمله متغیرهای اتمی و الگوریتم‌های موازی در C++17 نگاه خواهیم کرد. ما دوره را با اجرای یک صف همزمان و مخزن نخ به پایان خواهیم رساند، که مطالبی را که یاد گرفته‌اید گرد هم می‌آورد.

برای هر ویدیو تمرین‌های قابل دانلودی با راه‌حل‌هایی وجود دارد، بنابراین می‌توانید در حین یادگیری، درک خود را بررسی کنید و با مطالب آشنا و اطمینان پیدا کنید. همچنین تعدادی تکالیف اختیاری وجود دارد که چالش برانگیزتر هستند.

من فعالانه از این دوره حمایت خواهم کرد. در صورت داشتن هرگونه سوال یا مشکل در محتوای دوره، به سرعت پاسخ خواهم داد. لطفاً از ویژگی Q A استفاده کنید یا می توانید یک پیام خصوصی برای من ارسال کنید.


سرفصل ها و درس ها

معرفی Introduction

  • معرفی Introduction

  • راهنمای تمرین ها و کد منبع Guide to Exercises and Source Code

معرفی Introduction

  • معرفی Introduction

  • معرفی مدرس Lecturer Introduction

  • معرفی مدرس Lecturer Introduction

  • راهنمای تمرین ها و کد منبع Guide to Exercises and Source Code

مروری بر ویژگی های مدرن C++ Overview of Modern C++ Features

  • C++ مدرن قسمت چهارم Modern C++ Overview Part Four

مروری بر ویژگی های مدرن C++ Overview of Modern C++ Features

  • C++ مدرن قسمت اول Modern C++ Overview Part One

  • C++ مدرن قسمت اول Modern C++ Overview Part One

  • C++ مدرن قسمت دوم Modern C++ Overview Part Two

  • C++ مدرن قسمت دوم Modern C++ Overview Part Two

  • C++ مدرن قسمت سوم Modern C++ Overview Part Three

  • C++ مدرن قسمت سوم Modern C++ Overview Part Three

  • C++ مدرن قسمت چهارم Modern C++ Overview Part Four

  • C++ مدرن قسمت پنجم Modern C++ Overview Part Five

  • C++ مدرن قسمت پنجم Modern C++ Overview Part Five

مقدمه ای بر Concurrency Introduction to Concurrency

  • مقدمه همزمانی Concurrency Introduction

  • انگیزه همزمانی Concurrency Motivation

  • بررسی اجمالی همزمانی Concurrency Overview

مقدمه ای بر Concurrency Introduction to Concurrency

  • مقدمه همزمانی Concurrency Introduction

  • انگیزه همزمانی Concurrency Motivation

  • بررسی اجمالی همزمانی Concurrency Overview

  • برنامه های همزمان Concurrent Applications

  • برنامه های همزمان Concurrent Applications

  • تاریخچه مختصری از C++ Concurrency A Brief History of C++ Concurrency

  • تاریخچه مختصری از C++ Concurrency A Brief History of C++ Concurrency

شروع کار با Threads Getting Started with Threads

  • راه اندازی یک موضوع Launching a Thread

  • مسابقه داده ها Data Races

شروع کار با Threads Getting Started with Threads

  • راه اندازی یک موضوع Launching a Thread

  • راه اندازی یک موضوع Launching a Thread

  • راه اندازی یک موضوع Launching a Thread

  • کلاس C++ Thread The C++ Thread Class

  • کلاس C++ Thread The C++ Thread Class

  • مدیریت یک موضوع Managing a Thread

  • مدیریت یک موضوع Managing a Thread

  • موضوعات متعدد Multiple Threads

  • موضوعات متعدد Multiple Threads

  • مسابقه داده ها Data Races

  • مسابقه داده ها Data Races

  • مسابقه داده ها Data Races

کار با داده های مشترک Working with shared data

  • معرفی Mutex Mutex Introduction

  • تایم اوت و Mutexes Timeouts and Mutexes

  • اولیه سازی داده های مشترک Shared Data Initialization

  • Thread-Local Data Thread-local Data

  • Livelock Livelock

  • Livelock Livelock

  • نتیجه گیری Mutex Mutex Conclusion

کار با داده های مشترک Working with shared data

  • معرفی Mutex Mutex Introduction

  • محافظ قفل Lock Guard

  • محافظ قفل Lock Guard

  • قفل منحصر به فرد Unique Lock

  • قفل منحصر به فرد Unique Lock

  • تایم اوت و Mutexes Timeouts and Mutexes

  • موتکس های مشترک Shared Mutexes

  • موتکس های مشترک Shared Mutexes

  • اولیه سازی داده های مشترک Shared Data Initialization

  • Thread-Local Data Thread-local Data

  • Lazy Initialization Lazy Initialization

  • Lazy Initialization Lazy Initialization

  • بن بست Deadlock

  • بن بست Deadlock

  • Livelock Livelock

  • Livelock Livelock

  • نتیجه گیری Mutex Mutex Conclusion

همگام سازی موضوع Thread Synchronization

  • متغیرهای شرط Condition Variables

  • متغیرهای شرطی با گزاره Condition Variables with Predicate

  • آینده Futures

  • وعده‌هایی با رشته‌های انتظار متعدد Promises with Multiple Waiting Threads

همگام سازی موضوع Thread Synchronization

  • متغیرهای شرط Condition Variables

  • متغیرهای شرط Condition Variables

  • متغیرهای شرط Condition Variables

  • متغیرهای شرطی با گزاره Condition Variables with Predicate

  • آینده Futures

  • وعده ها Promises

  • وعده ها Promises

  • وعده‌هایی با رشته‌های انتظار متعدد Promises with Multiple Waiting Threads

انواع اتمی Atomic Types

  • انواع اتمی Atomic Types

  • دوباره تیک زدن قفل Double-checked Locking Reprise

  • برنامه نویسی بدون قفل Lock-free programming

انواع اتمی Atomic Types

  • عملیات عدد صحیح و رشته ها Integer Operations and Threads

  • عملیات عدد صحیح و رشته ها Integer Operations and Threads

  • انواع اتمی Atomic Types

  • دوباره تیک زدن قفل Double-checked Locking Reprise

  • عملیات اتمی Atomic Operations

  • عملیات اتمی Atomic Operations

  • برنامه نویسی بدون قفل Lock-free programming

برنامه نویسی ناهمزمان Asynchronous Programming

  • عملکرد async The async Function

  • انتخاب یک موضوع موضوع Choosing a Thread Object

برنامه نویسی ناهمزمان Asynchronous Programming

  • برنامه نویسی ناهمزمان Asynchronous Programming

  • برنامه نویسی ناهمزمان Asynchronous Programming

  • وظیفه بسته بندی شده Packaged Task

  • وظیفه بسته بندی شده Packaged Task

  • عملکرد async The async Function

  • انتخاب یک موضوع موضوع Choosing a Thread Object

  • محاسبات موازی با استفاده از std:: accumulate Parallel computation using std::accumulate

  • محاسبات موازی با استفاده از std:: accumulate Parallel computation using std::accumulate

موازی سازی Parallelism

  • سیاست های اجرایی Execution Policies

  • الگوریتم های موازی جدید New Parallel Algorithms

موازی سازی Parallelism

  • بررسی اجمالی موازی سازی Parallelism Overview

  • بررسی اجمالی موازی سازی Parallelism Overview

  • سیاست های اجرایی Execution Policies

  • الگوریتم ها و سیاست های اجرایی Algorithms and Execution Policies

  • الگوریتم ها و سیاست های اجرایی Algorithms and Execution Policies

  • الگوریتم های موازی جدید New Parallel Algorithms

  • الگوریتم های موازی جدید ادامه دارد New Parallel Algorithms Continued

  • الگوریتم های موازی جدید ادامه دارد New Parallel Algorithms Continued

ساختارهای داده عملی برای برنامه نویسی همزمان Practical Data Structures for Concurrent Programming

  • اجرای Thread Pool عملی Thread Pool Implementation Practical

ساختارهای داده عملی برای برنامه نویسی همزمان Practical Data Structures for Concurrent Programming

  • صف داده همزمان عملی است Concurrent Data Queue Practical

  • صف داده همزمان عملی است Concurrent Data Queue Practical

  • استخرهای موضوع Thread Pools

  • استخرهای موضوع Thread Pools

  • اجرای Thread Pool عملی Thread Pool Implementation Practical

منابع چند رشته ای Multithreading Resources

  • کتاب توصیه شده Recommended Book

منابع چند رشته ای Multithreading Resources

  • کتاب توصیه شده Recommended Book

  • کتابخانه های چند رشته ای Multithreading libraries

  • کتابخانه های چند رشته ای Multithreading libraries

  • ماده جایزه Bonus Material

  • ماده جایزه Bonus Material

نمایش نظرات

آموزش Multithreading با C++ مدرن
جزییات دوره
7 hours
53
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
12,407
4.6 از 5
دارد
دارد
دارد
James Raynard
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

James Raynard James Raynard

توسعهدهنده نرم افزار و مربی، متخصص در C ++ من از سال 1994 توسعه دهنده نرم افزار بوده ام، عمدتا در Telecomms و امور مالی، هر دو در انگلستان و هم در خارج از کشور. من اکنون به عنوان یک مربی کار می کنم و کلاس های توسعه نرم افزاری را در طیف وسیعی از محیط ها آموزش داده ام. من تا کنون سه دوره در مورد Udemy منتشر کرده ام. "یادگیری مدرن C ++!" و "یادگیری پیشرفته مدرن C ++" به طور جامع پوشش C ++ 11 و 14 و برخی از C ++ 17. "یادگیری مدرن C ++ Multithreading" به اصول برنامه نویسی Multithreaded با استفاده از C ++ 11، 14 و 17 آموزش می دهد.