MP4 | Video: h264, 1280×720 | Audio: AAC, 44.1 KHz, 2 Ch
Genre: eLearning | Language: English + srt | Duration: 96 lectures (9h 46m) | Size: 4.7 GB
Enhance your enterprise application development skills by mastering concurrent and parallel programming techniques
What you’ll learn:
Learn and Understand Concurrency and Parallelism
Learn and Understand Multiprocessing and Multithreading
Processes, threads, coroutines, and their relationships
Learn and Understand Parallelism and Distributed Computing
Concurrency versus Parallelism
CPU-bound and I/O-bound algorithms
Why Concurrency is often Feared
Concepts and Terminology
Access to a computer with an internet connection.
Note: This course will be regularly updated.
In today’s world, every CPU has a multi-core processor. However, unless your application has implemented parallel programming, it will fail to utilize the hardware’s full processing capacity. This course will show you how to write modern software. Concurrent and parallel programming techniques are important. Getting the most out of your software is something all developers strive for, and concurrency, and the art of concurrent programming, happens to be one of the best ways in order for you to improve the performance of your applications. Through the careful application of concurrent concepts into our previously single-threaded applications, we can start to realize the full power of our underlying hardware, and strive to solve problems that were unsolvable in days gone past. With concurrency, we are able to improve the perceived performance of our applications by concurrently dealing with requests, and updating the frontend instead of just hanging until the backend task is complete. Gone are the days of unresponsive programs that give you no indication as to whether they’ve crashed or are still silently working.
This course covers how to build multithreaded, concurrent, and optimized applications that harness the power of multi-core processors. Once you’ve understood the fundamentals of threading and concurrency, you’ll gain insights into the data structure in .NET Core that supports parallelism. By choosing to implement systems in a concurrent fashion, we typically see an increase in the overall complexity of our code, and a heightened risk for bugs to appear within this new code. In order to successfully implement concurrent systems, we must first understand some of the key concurrency primitives and concepts at a deeper level in order to ensure that our applications are safe from these new inherent threats. The course will then help you perform asynchronous programming in C# and diagnose and debug parallel code effectively. Finally, you’ll learn best practices such as test-driven development, and run unit tests on your parallel code.
At the end of the course, you’ll have developed a deep understanding of the core concepts of concurrency and parallelism to create responsive applications that are not CPU-intensive.
Who this course is for
Anyone interested in concurrent and parallel programming