Last updated 10/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 1.05 GB | Duration: 1h 46m
How to boost program performance with multithreading and concurrency techniques
What you'll learn Homepage: https://www.udemy.com/course/csharp-multithreading-basics/
Learn concepts of different threading models
Learn how to avoid UI being blocked by codes
Run tasks in background using BackgroundWorkers
Update data to UI using Dispatcher and Data binding
Run tasks in multiple threads using Thread class
Run tasks in multiple threads using Task class
Run tasks asynchronously using async and await
Run lots of tasks concurrently using Parallel programming
Requirements
Basic C# programming knowledge
Want to boost you application with the power of multi-threading
Description
I think that most of us programmers start developing applications in single threaded mode. Which means that tasks or actions defined in this application will be executed in a certain predefined sequence. But at some point, we need to start tasks simultaneously and to be completed asynchronously in order to save execution time and to boost up performance.Here is an example. You need to compare the execution speed of two tasks. In a single threaded program you have to perform the speed measurement tasks one after another, then compare the time difference at the end of when both tasks are done. Let’s say Task A needs 30 seconds and Task B needs only 0.5 second. Therefore, if you start Task B after Task A, you won’t see Task B to be completed until Task A is finished.If we do it in a multithreaded mode, then no matter which task first, we can always see Task B to be finished in 0.5 second while Task A is still running. And if we use the right multi-threading technique, Task A might not even need 30 seconds to run. This is the beauty of multi-threading programming.For the time being, there are several multi-threading techniques available in C# and .Net. Including Thread, ThreadPool, Task, TaskFactory, Task Run, BackgroundWorker, async and await, Parallel.For/Parallel.ForEach… Wow! So overwhelming!Don’t worry, this two-hour long course provides you a very good insight on when to use what. Topics that will be mainly covered including the followings:Problems with single threaded applicationBasics of mult-threading model of C#The BackgroundWorkerUse Dispatcher to update UI in progressThread and ThreadPoolTPL (1) - Task. Run and Task. FactoryTPL (2) - async and awaitTPL (3) - Parallel programmingAnd the sample being used in this course is quite interesting as well. We are going to compare the speed of concatenating a string 50,000 times by using a string type variable and a StringBuilder type variable, respectively. You will be surprised at the performance that they yield.Even though this course just brings you the basic concept of .Net’s multithreading techniques, the codes introduced in this course should be useful enough in your real world projects. Hope you enjoy this course.
Who this course is for:
Any C# developer who wants to have a clear concept of multi-threading
TO MAC USERS: If RAR password doesn't work, use this archive program:
RAR Expander 0.8.5 Beta 4 and extract password protected files without error.
TO WIN USERS: If RAR password doesn't work, use this archive program:
Latest Winrar and extract password protected files without error.