When you enroll through our links, we may earn a small commission—at no extra cost to you. This helps keep our platform free and inspires us to add more value.

Udemy logo

Multithreading and Parallel Programming in C#

Overcome multithreading and asynchronous programming in C# problems & improve performance by parallel computing in C#

     
  • 4.2
  •  |
  • Reviews ( 598 )
₹519

This Course Includes

  • iconudemy
  • icon4.2 (598 reviews )
  • icon7h 11m
  • iconenglish
  • iconOnline - Self Paced
  • iconprofessional certificate
  • iconUdemy

About Multithreading and Parallel Programming in C#

For the last two decades, computers became faster by increasing the number of CPU cores. However, the fact of having more cores itself doesn’t make a computer drastically faster if those cores are not used by software properly. We, as software developers, should know how to write asynchronous and parallel executing code to make our applications faster and more responsive. This course is all about developing more responsive and fast programs. Multithreading and Parallel Computing are topics for those who already have some experience in programming, otherwise, you may face difficulties with understanding the content. Anyway, this course covers:

Theoretical foundations

of asynchronous programming: main concepts, processes, threads and so on

Low-level Thread API, APM, and EAP

Task Parallel Library (TPL)

including starting tasks, canceling tasks, chaining tasks, waiting for tasks, IO-based tasks, exceptions handling and other

Async and Await

feature of C#

Synchronization

including atomicity, Interlocked, Monitor (lock), ReaderWriterLockSlim, Semaphore, SynchronizationContext, and Mutex

Signaling constructs

such as AutoResetEvent and ManualResetEventSlim, CountdownEvent and Barrier

Spinning

including SpinWait, SpinLock and our own UpdateableSpin

ConcurrentCollections

including ImmutableStack, ImmutableQueue, ImmutableList, Immutable Sets, ImmutableDictionary, ConcurrentStack, ConcurrentQueue, ConcurrentBag, BlockingCollection

Parallel Programming

including Parallel class and PLINQ Enroll and start learning the foundations of multithreading and parallel computing in .NET.

What You Will Learn?

  • Be able to use a full power of TPL (task parallel library) by using Tasks .
  • Understand the low-level of Threads .
  • Understand all the basic concepts such as "Thread", "Process"; difference between "asynchrony", "concurrency", "multithreading", and "parallel computing" .
  • Use the full power of synchronization constructs such as Monitor (lock), Interlocked, ReaderWriterLockSlim, Semaphore, SynchronizationContext .
  • Use the full power of signaling constructs such as AutoResetEvent and ManualResetEventSlim, CountdownEvent and Barrier, Mutex .
  • Use spinners where appropriate: SpinLock, SpinWait .
  • Understand and use Immutable and Concurrent Collections .
  • Harness the power of parallel computing by using PFX components: Parallel class and PLINQ Show moreShow less.