Multithreading and Parallel Programming in C# Overcome multithreading and asynchronous programming in C# problems & improve performance by parallel computing in C# What you'll 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 Requirements • Good understanding of C# Description 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. Who this course is for: • Any C# developer who wants to learn about multithreading and parallel computing in C# • Any C# developer who wants to have a good reminder (about multithreading-related stuff) at hand
Filename Size Multithreading and Parallel Programming in C#/01 Before Taking the Course/001 How to Ask Questions.html 1.5 KB Multithreading and Parallel Programming in C#/01 Before Taking the Course/002 Source Code.html 1 KB Multithreading and Parallel Programming in C#/01 Before Taking the Course/003 Join .NET Community of Students.html 1.2 KB Multithreading and Parallel Programming in C#/01 Before Taking the Course/004 Materials.en.srt 868 B Multithreading and Parallel Programming in C#/01 Before Taking the Course/004 Materials.mp4 2 MB Multithreading and Parallel Programming in C#/02 Introduction/005 Outline.en.srt 2.2 KB Multithreading and Parallel Programming in C#/02 Introduction/005 Outline.mp4 7.7 MB Multithreading and Parallel Programming in C#/02 Introduction/006 Main Concepts.en.srt 7.3 KB Multithreading and Parallel Programming in C#/02 Introduction/006 Main Concepts.mp4 22.1 MB Multithreading and Parallel Programming in C#/02 Introduction/007 Threads and Related Notions.en.srt 10.4 KB Multithreading and Parallel Programming in C#/02 Introduction/007 Threads and Related Notions.mp4 29.9 MB Multithreading and Parallel Programming in C#/02 Introduction/008 Why async programming Important.en.srt 2.9 KB Multithreading and Parallel Programming in C#/02 Introduction/008 Why async programming Important.mp4 7.6 MB Multithreading and Parallel Programming in C#/02 Introduction/009 Hanging Application Demo.en.srt 6.4 KB Multithreading and Parallel Programming in C#/02 Introduction/009 Hanging Application Demo.mp4 47.8 MB Multithreading and Parallel Programming in C#/02 Introduction/010 Problems Related to Multithreading.en.srt 2.4 KB Multithreading and Parallel Programming in C#/02 Introduction/010 Problems Related to Multithreading.mp4 5.2 MB Multithreading and Parallel Programming in C#/02 Introduction/011 Conclusion.en.srt 3.2 KB Multithreading and Parallel Programming in C#/02 Introduction/011 Conclusion.mp4 9.9 MB Multithreading and Parallel Programming in C#/03 Thread API Thread Pool APM EAP/012 Outline.en.srt 1.6 KB Multithreading and Parallel Programming in C#/03 Thread API Thread Pool APM EAP/012 Outline.mp4 5.2 MB Multithreading and Parallel Programming in C#/03 Thread API Thread Pool APM EAP/013 Create Process.en.srt 7.6 KB Multithreading and Parallel Programming in C#/03 Thread API Thread Pool APM EAP/013 Create Process.mp4 76.2 MB Multithreading and Parallel Programming in C#/03 Thread API Thread Pool APM EAP/014 Starting a Thread.en.srt 5.6 KB Multithreading and Parallel Programming in C#/03 Thread API Thread Pool APM EAP/014 Starting a Thread.mp4 50.4 MB Multithreading and Parallel Programming in C#/03 Thread API Thread Pool APM EAP/015 Cancelling a Thread.en.srt 8.6 KB Multithreading and Parallel Programming in C#/03 Thread API Thread Pool APM EAP/015 Cancelling a Thread.mp4 69.2 MB Multithreading and Parallel Programming in C#/03 Thread API Thread Pool APM EAP/016 Coordinating Threads.en.srt 8.3 KB Multithreading and Parallel Programming in C#/03 Thread API Thread Pool APM EAP/016 Coordinating Threads.mp4 78.1 MB Multithreading and Parallel Programming in C#/03 Thread API Thread Pool APM EAP/017 Threading and COM.en.srt 2.5 KB Multithreading and Parallel Programming in C#/03 Thread API Thread Pool APM EAP/017 Threading and COM.mp4 8.2 MB Multithreading and Parallel Programming in C#/03 Thread API Thread Pool APM EAP/018 How Thread Pool Works.en.srt 2.9 KB Multithreading and Parallel Programming in C#/03 Thread API Thread Pool APM EAP/018 How Thread Pool Works.mp4 6.6 MB Multithreading and Parallel Programming in C#/03 Thread API Thread Pool APM EAP/019 Worker and IO Threads.en.srt 8 KB Multithreading and Parallel Programming in C#/03 Thread API Thread Pool APM EAP/019 Worker and IO Threads.mp4 16.2 MB Multithreading and Parallel Programming in C#/03 Thread API Thread Pool APM EAP/020 IO-Bound Operations.en.srt 5.6 KB Multithreading and Parallel Programming in C#/03 Thread API Thread Pool APM EAP/020 IO-Bound Operations.mp4 11.8 MB Multithreading and Parallel Programming in C#/03 Thread API Thread Pool APM EAP/021 APM and EAP.en.srt 5 KB Multithreading and Parallel Programming in C#/03 Thread API Thread Pool APM EAP/021 APM and EAP.mp4 36.3 MB Multithreading and Parallel Programming in C#/03 Thread API Thread Pool APM EAP/022 Conclusion.en.srt 1.7 KB Multithreading and Parallel Programming in C#/03 Thread API Thread Pool APM EAP/022 Conclusion.mp4 5.3 MB Multithreading and Parallel Programming in C#/03 Thread API Thread Pool APM EAP/external-assets-links.txt 87 B Multithreading and Parallel Programming in C#/04 Tasks/023 Outline.en.srt 1006 B Multithreading and Parallel Programming in C#/04 Tasks/023 Outline.mp4 3.2 MB Multithreading and Parallel Programming in C#/04 Tasks/024 What is a Task Starting a Task.en.srt 12.4 KB Multithreading and Parallel Programming in C#/04 Tasks/024 What is a Task Starting a Task.mp4 104.8 MB Multithreading and Parallel Programming in C#/04 Tasks/025 Task States.en.srt 4.7 KB Multithreading and Parallel Programming in C#/04 Tasks/025 Task States.mp4 11.1 MB Multithreading and Parallel Programming in C#/04 Tasks/026 Cancelling a Task.en.srt 15.8 KB Multithreading and Parallel Programming in C#/04 Tasks/026 Cancelling a Task.mp4 128.6 MB Multithreading and Parallel Programming in C#/04 Tasks/027 Chaining Tasks (Continuations).en.srt 9.6 KB Multithreading and Parallel Programming in C#/04 Tasks/027 Chaining Tasks (Continuations).mp4 94 MB Multithreading and Parallel Programming in C#/04 Tasks/028 Waiting for a Task.en.srt 8.8 KB Multithreading and Parallel Programming in C#/04 Tasks/028 Waiting for a Task.mp4 86.6 MB Multithreading and Parallel Programming in C#/04 Tasks/029 Creating IO-Based Tasks.en.srt 11.1 KB Multithreading and Parallel Programming in C#/04 Tasks/029 Creating IO-Based Tasks.mp4 125.6 MB Multithreading and Parallel Programming in C#/04 Tasks/030 Error Handling.en.srt 10.6 KB Multithreading and Parallel Programming in C#/04 Tasks/030 Error Handling.mp4 94.6 MB Multithreading and Parallel Programming in C#/04 Tasks/031 Global Exception Handling.en.srt 8.8 KB Multithreading and Parallel Programming in C#/04 Tasks/031 Global Exception Handling.mp4 23.3 MB Multithreading and Parallel Programming in C#/04 Tasks/032 Nested and Child Tasks.en.srt 5.2 KB Multithreading and Parallel Programming in C#/04 Tasks/032 Nested and Child Tasks.mp4 45.9 MB Multithreading and Parallel Programming in C#/04 Tasks/033 TaskCompletionSource.en.srt 3.1 KB Multithreading and Parallel Programming in C#/04 Tasks/033 TaskCompletionSource.mp4 10.6 MB Multithreading and Parallel Programming in C#/04 Tasks/034 Conclusion.en.srt 2.5 KB Multithreading and Parallel Programming in C#/04 Tasks/034 Conclusion.mp4 6.8 MB Multithreading and Parallel Programming in C#/05 Async and Await/035 Outline.en.srt 1.3 KB Multithreading and Parallel Programming in C#/05 Async and Await/035 Outline.mp4 4.4 MB Multithreading and Parallel Programming in C#/05 Async and Await/036 What is Async.en.srt 9.4 KB Multithreading and Parallel Programming in C#/05 Async and Await/036 What is Async.mp4 90.3 MB Multithreading and Parallel Programming in C#/05 Async and Await/037 Async Method Return Types.en.srt 3.9 KB Multithreading and Parallel Programming in C#/05 Async and Await/037 Async Method Return Types.mp4 8.5 MB Multithreading and Parallel Programming in C#/05 Async and Await/038 Where await can be Used.en.srt 4.9 KB Multithreading and Parallel Programming in C#/05 Async and Await/038 Where await can be Used.mp4 12.9 MB Multithreading and Parallel Programming in C#/05 Async and Await/039 Exceptions in Async Code.en.srt 10.2 KB Multithreading and Parallel Programming in C#/05 Async and Await/039 Exceptions in Async Code.mp4 86.4 MB Multithreading and Parallel Programming in C#/05 Async and Await/040 Conclusion.en.srt 3 KB Multithreading and Parallel Programming in C#/05 Async and Await/040 Conclusion.mp4 9.5 MB Multithreading and Parallel Programming in C#/06 Synchronization in Multithreaded Scenarios/041 Outline.en.srt 1.8 KB Multithreading and Parallel Programming in C#/06 Synchronization in Multithreaded Scenarios/041 Outline.mp4 5.9 MB Multithreading and Parallel Programming in C#/06 Synchronization in Multithreaded Scenarios/042 Resources Shared by Threads.en.srt 4.5 KB Multithreading and Parallel Programming in C#/06 Synchronization in Multithreaded Scenarios/042 Resources Shared by Threads.mp4 46.1 MB Multithreading and Parallel Programming in C#/06 Synchronization in Multithreaded Scenarios/043 Atomic Operations and Thread Safety.en.srt 5.7 KB Multithreading and Parallel Programming in C#/06 Synchronization in Multithreaded Scenarios/043 Atomic Operations and Thread Safety.mp4 15.2 MB Multithreading and Parallel Programming in C#/06 Synchronization in Multithreaded Scenarios/044 Interlocked.en.srt 8.6 KB Multithreading and Parallel Programming in C#/06 Synchronization in Multithreaded Scenarios/044 Interlocked.mp4 82.1 MB Multithreading and Parallel Programming in C#/06 Synchronization in Multithreaded Scenarios/045 Monitor (lock).en.srt 11.9 KB Multithreading and Parallel Programming in C#/06 Synchronization in Multithreaded Scenarios/045 Monitor (lock).mp4 110.2 MB Multithreading and Parallel Programming in C#/06 Synchronization in Multithreaded Scenarios/046 ReaderWriterLockSlim.en.srt 8.2 KB Multithreading and Parallel Programming in C#/06 Synchronization in Multithreaded Scenarios/046 ReaderWriterLockSlim.mp4 67 MB Multithreading and Parallel Programming in C#/06 Synchronization in Multithreaded Scenarios/047 Semaphore.en.srt 3.7 KB Multithreading and Parallel Programming in C#/06 Synchronization in Multithreaded Scenarios/047 Semaphore.mp4 37 MB Multithreading and Parallel Programming in C#/06 Synchronization in Multithreaded Scenarios/048 SynchronizationContext.en.srt 9.1 KB Multithreading and Parallel Programming in C#/06 Synchronization in Multithreaded Scenarios/048 SynchronizationContext.mp4 77.8 MB Multithreading and Parallel Programming in C#/06 Synchronization in Multithreaded Scenarios/049 Deadlock.en.srt 4.3 KB Multithreading and Parallel Programming in C#/ReadMe.txt 220 B ReadMe.txt 220 B