- Duration: Flexible
Course details
For the last two decades, computers became faster by increasing the number of CPU cores. However, the fact of having more cores itself doesnt 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 Paralell Library (TPL) including starting tasks, cancelling 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.
Updated on 14 November, 2018- JavaScript Full stack web developer virtual internship Virtual Bootcamp + Internship at LaimoonAED 1,449Duration: Upto 30 Hours
- C Programming for Beginners Course LineUSD 24Duration: Upto 8 Hours
- Become a C Programmer eduCBAUSD 5
USD 29Duration: Upto 21 Hours