Multithreading and Parallel Programming in C#

  • Overview
  • Curriculum
  • Instructor
  • Review

About This Course

Overcome multithreading and asynchronous programming in C# problems & improve performance by parallel computing 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.

  • 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"

Course Curriculum

Instructor

Profile photo of Engineer Spock
Engineer Spock

I'm thankful enough for that I love what I do.I began my career as a postgraduate student participating in Microsoft ImagineCup contest. I've been working with .NET platform since 2003. I've been professionally architecting and implementing software for nearly 7 years, primarily based on .NET platform. I'm passionate about building rich and powerful applications using modern technologies. I'm a certified...

Review
4.9 course rating
4K ratings
ui-avatar of Amir Tuchner
Amir T.
4.0
10 months ago

Good

  • Helpful
  • Not helpful
ui-avatar of Jonen560ti .
Jonen560ti ..
5.0
1 year ago

Very helpful and practical. Just enough theory to give you an idea on what's happening behind the curtains, but the primary focus is where it should be, on the code you will actually write

  • Helpful
  • Not helpful
ui-avatar of Adnan Mahinic
Adnan M.
4.0
1 year ago

It was a nice introduction to Asynchronous programming and Parallel programming, but I strongly recommend pairing this course with Microsoft docs and thought exercises due to the lack of quizzes/exercises.

  • Helpful
  • Not helpful
ui-avatar of Will Woods Ballard
Will W. B.
2.0
1 year ago

The content is OK but there is one glaring issue:

No work along examples: how the hell am I supposed to learn anything with some guy just talking about code to me? When has that ever worked before?

There aren't even examples of applications for this so it renders what he is saying pretty useless.

  • Helpful
  • Not helpful
ui-avatar of Tomás Muñiz Quiroz
Tomás M. Q.
3.0
1 year ago

The course is well structured and touches all the necessary topics for the understanding of multi-thread, but the content can be improved, there is too much slide reading, there are no visual examples (especially when dealing with such an abstract topic as multi-thread), all the examples have almost no structure, it looks like code made on the fly and there is not enough talk about "side effects".

  • Helpful
  • Not helpful
ui-avatar of Jose Vazquez
Jose V.
5.0
1 year ago

I am liking it...

  • Helpful
  • Not helpful
ui-avatar of Javier Parra Lopez
Javier P. L.
3.5
1 year ago

Creo que le hace falta casos de uso practico y que puedas descargar el codigo

  • Helpful
  • Not helpful
ui-avatar of Armando RodrĂ­guez Ortega
Armando R. O.
4.5
1 year ago

In general is an excellent course, but this course could be a little complicated because without advise only copy a code for other source and continue the course

  • Helpful
  • Not helpful
ui-avatar of Jorge Milans
Jorge M.
4.5
1 year ago

Very good course in general, complete and consistent with the information provided.

  • Helpful
  • Not helpful
ui-avatar of Etti Malca
Etti M.
4.0
2 years ago

The course itself is great, however the fact that the OS of the tutor is in Russian is very confusing --> I want to read and understand the exceptions for example.

  • Helpful
  • Not helpful
Leave A Reply

Your email address will not be published. Required fields are marked *

Ratings

Courses You May Like

Lorem ipsum dolor sit amet elit
Show More Courses