آموزش چند رشته‌ای و برنامه‌نویسی موازی در سی‌شارپ - آخرین آپدیت

دانلود Multithreading and Parallel Programming in C#

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:

بر مشکلات برنامه‌نویسی چندریسمانی و ناهمگام در C# غلبه کنید و با **محاسبات موازی در C#** عملکرد را بهبود بخشید.

  • **استفاده کامل از قدرت TPL (کتابخانه موازی‌سازی وظیفه) با به‌کارگیری تسک‌ها**
  • درک عمیق از **ریسمه‌ها (Threads) در سطح پایین**
  • آشنایی با **مفاهیم بنیادی** مانند "ریسه" (Thread) و "فرآیند" (Process)؛ تفاوت‌های بین "ناهمگامی" (Asynchrony)، "همزمانی" (Concurrency)، "چندریسمانی" (Multithreading) و "محاسبات موازی" (Parallel Computing)
  • بهره‌گیری کامل از **مکانیزم‌های همگام‌سازی (Synchronization Constructs)** مانند Monitor (lock)، Interlocked، ReaderWriterLockSlim، Semaphore و SynchronizationContext
  • استفاده کامل از **مکانیزم‌های سیگنالینگ (Signaling Constructs)** مانند AutoResetEvent، ManualResetEventSlim، CountdownEvent، Barrier و Mutex
  • به‌کارگیری Spinners در موارد مقتضی: SpinLock و SpinWait
  • درک و استفاده از **کالکشن‌های تغییرناپذیر (Immutable) و همزمان (Concurrent)**
  • مهار قدرت **محاسبات موازی** با استفاده از کامپوننت‌های PFX: کلاس Parallel و PLINQ

پیش‌نیازها:

درک قوی از **زبان برنامه‌نویسی C#**

در دو دهه اخیر، رایانه‌ها با افزایش تعداد **هسته‌های پردازنده (CPU Cores)** سریع‌تر شده‌اند. با این حال، صرف داشتن هسته‌های بیشتر، رایانه را به طور چشمگیری سریع‌تر نمی‌کند، مگر اینکه این هسته‌ها به درستی توسط نرم‌افزارها مورد استفاده قرار گیرند. ما به عنوان **توسعه‌دهندگان نرم‌افزار**، باید بدانیم که چگونه کد **ناهمگام (Asynchronous)** و **موازی (Parallel)** بنویسیم تا برنامه‌های خود را سریع‌تر و پاسخگوتر کنیم.

این دوره آموزشی تماماً درباره توسعه برنامه‌های پاسخگوتر و سریع‌تر است. **چندریسمانی (Multithreading)** و **محاسبات موازی (Parallel Computing)** مباحثی برای افرادی هستند که پیش‌تر تجربه‌ای در برنامه‌نویسی دارند؛ در غیر این صورت، ممکن است در درک محتوا با مشکل مواجه شوید. به هر حال، این دوره مباحث زیر را پوشش می‌دهد:

  • مبانی نظری برنامه‌نویسی ناهمگام: مفاهیم اصلی، فرآیندها، ریسه‌ها و غیره

  • API ریسه در سطح پایین (Low-level Thread API)، APM و EAP

  • کتابخانه موازی‌سازی وظیفه (TPL) شامل شروع تسک‌ها، لغو تسک‌ها، زنجیره‌سازی تسک‌ها، انتظار برای تسک‌ها، تسک‌های مبتنی بر IO، مدیریت استثناها و موارد دیگر

  • ویژگی **Async و Await در C#**

  • همگام‌سازی (Synchronization) شامل اتمیسیته (Atomicity)، Interlocked، Monitor (lock)، ReaderWriterLockSlim، Semaphore، SynchronizationContext و Mutex

  • مکانیزم‌های سیگنالینگ (Signaling Constructs) مانند AutoResetEvent، ManualResetEventSlim، CountdownEvent و Barrier

  • چرخاندن (Spinning) شامل SpinWait، SpinLock و UpdateableSpin اختصاصی ما

  • کالکشن‌های همزمان (Concurrent Collections) شامل ImmutableStack، ImmutableQueue، ImmutableList، Immutable Sets، ImmutableDictionary، ConcurrentStack، ConcurrentQueue، ConcurrentBag و BlockingCollection

  • برنامه‌نویسی موازی (Parallel Programming) شامل کلاس Parallel و PLINQ

همین امروز ثبت‌نام کنید و یادگیری **مبانی چندریسمانی و محاسبات موازی در .NET** را آغاز کنید.


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

پیش از شروع دوره Before Taking the Course

  • نحوه پرسیدن سوالات How to Ask Questions

  • کد منبع Source Code

  • به جامعه دانشجویان دات‌نت بپیوندید Join .NET Community of Students

  • مطالب دوره Materials

مقدمه Introduction

  • سرفصل‌ها Outline

  • مفاهیم اصلی Main Concepts

  • رشته‌ها و مفاهیم مرتبط Threads and Related Notions

  • چرا برنامه‌نویسی ناهمزمان مهم است؟ Why async programming Important?

  • دموی برنامه در حال توقف Hanging Application Demo

  • مشکلات مرتبط با چندرشتگی Problems Related to Multithreading

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

Thread API، Thread Pool، APM و EAP Thread API, Thread Pool, APM & EAP

  • سرفصل‌ها Outline

  • ایجاد فرآیند Create Process

  • شروع یک رشته Starting a Thread

  • لغو یک رشته Cancelling a Thread

  • هماهنگ‌سازی رشته‌ها Coordinating Threads

  • رشته‌بندی و COM Threading and COM

  • Thread Pool چگونه کار می‌کند؟ How Thread Pool Works

  • رشته‌های کارگر و ورودی/خروجی Worker and I/O Threads

  • عملیات محدود به ورودی/خروجی I/O-Bound Operations

  • APM و EAP APM and EAP

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

تسک‌ها Tasks

  • سرفصل‌ها Outline

  • تسک چیست؟ شروع یک تسک What is a Task? Starting a Task

  • وضعیت‌های تسک Task States

  • لغو یک تسک Cancelling a Task

  • زنجیره‌سازی تسک‌ها (ادامه‌ها) Chaining Tasks (Continuations)

  • انتظار برای یک تسک Waiting for a Task

  • ایجاد تسک‌های مبتنی بر ورودی/خروجی Creating I/O-Based Tasks

  • مدیریت خطا Error Handling

  • مدیریت استثنای سراسری Global Exception Handling

  • تسک‌های تو در تو و فرزند Nested and Child Tasks

  • TaskCompletionSource TaskCompletionSource

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

Async و Await Async and Await

  • سرفصل‌ها Outline

  • Async چیست؟ What is Async?

  • انواع بازگشتی متدهای Async Async Method Return Types

  • await کجا قابل استفاده است؟ Where "await" can be Used?

  • استثناها در کد Async Exceptions in Async Code

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

همگام‌سازی در سناریوهای چندرشته‌ای Synchronization in Multithreaded Scenarios

  • سرفصل‌ها Outline

  • منابع مشترک بین رشته‌ها Resources Shared by Threads

  • عملیات اتمیک و امنیت رشته Atomic Operations and Thread Safety

  • Interlocked Interlocked

  • مانیتور (قفل) Monitor (lock)

  • ReaderWriterLockSlim ReaderWriterLockSlim

  • Semaphore Semaphore

  • SynchronizationContext SynchronizationContext

  • بن‌بست Deadlock

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

ساختارهای سیگنال‌دهی Signaling Constructs

  • سرفصل‌ها Outline

  • سیگنال‌دهی با AutoResetEvent و ManuallyResetEventSlim Signaling with AutoResetEvent and ManuallyResetEventSlim

  • CountdownEvent و Barrier CountdownEvent and Barrier

  • عبور از مرزهای یک فرآیند Crossing Boundaries of a Process

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

اسپینینگ Spinning

  • سرفصل‌ها Outline

  • مسدودسازی در مقابل اسپینینگ Blocking vs Spinning

  • SpinLock و SpinWait SpinLock and SpinWait

  • پیاده‌سازی اسپینر خودمان: UpdateableSpin Implementing our own spinner: UpdateableSpin

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

مجموعه‌های همزمان Concurrent Collections

  • سرفصل‌ها Outline

  • مقدمه Introduction

  • پیاده‌سازی ImmutableStack و مشکل فشار حافظه Implementing ImmutableStack and the Problem of Memory Pressure

  • Immutable Stack و ImmutableQueue Immutable Stack and ImmutableQueue

  • Immutable List Immutable List

  • Immutable Sets Immutable Sets

  • Immutable Dictionary Immutable Dictionary

  • سازنده‌ها در مجموعه‌های تغییرناپذیر Builders in Immutable Collections

  • ConcurrentStack و ConcurrentQueue ConcurrentStack and ConcurrentQueue

  • ConcurrentBag ConcurrentBag

  • ConcurrentDictionary ConcurrentDictionary

  • Blocking Collection و الگوی تولیدکننده/مصرف‌کننده Blocking Collection and Producer/Consumer Pattern

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

برنامه‌نویسی موازی Parallel Programming

  • سرفصل‌ها Outline

  • مقدمه Introduction

  • کلاس Parallel Parallel Class

  • PLINQ PLINQ

  • لغو Parallel و PLINQ Cancelling Parallel and PLINQ

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

  • بخش جایزه BONUS

نمایش نظرات

آموزش چند رشته‌ای و برنامه‌نویسی موازی در سی‌شارپ
جزییات دوره
7 hours
80
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
3,790
4.3 از 5
ندارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Engineer Spock Engineer Spock

مهندس نرم افزار - بیش از 1000 نقد، میانگین امتیاز - 4.5