Multithreading and Parallel Programming in C#
Multithreading and Parallel Programming in C#, available at $64.99, has an average rating of 4.25, with 80 lectures, based on 569 reviews, and has 3717 subscribers.
You will learn about 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 This course is ideal for individuals who are Any C# developer who wants to learn about multithreading and parallel computing in C# or Any C# developer who wants to have a good reminder (about multithreading-related stuff) at hand It is particularly useful for Any C# developer who wants to learn about multithreading and parallel computing in C# or Any C# developer who wants to have a good reminder (about multithreading-related stuff) at hand.
Enroll now: Multithreading and Parallel Programming in C#
Summary
Title: Multithreading and Parallel Programming in C#
Price: $64.99
Average Rating: 4.25
Number of Lectures: 80
Number of Published Lectures: 80
Number of Curriculum Items: 80
Number of Published Curriculum Objects: 80
Original Price: $59.99
Quality Status: approved
Status: Live
What You Will 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
Who Should Attend
- 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
Target Audiences
- 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
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#
-
Synchronizationincluding atomicity, Interlocked, Monitor (lock), ReaderWriterLockSlim, Semaphore, SynchronizationContext, and Mutex
-
Signaling constructs such as AutoResetEvent and ManualResetEventSlim, CountdownEvent and Barrier
-
Spinningincluding SpinWait, SpinLock and our own UpdateableSpin
-
ConcurrentCollectionsincluding 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.
Course Curriculum
Chapter 1: Before Taking the Course
Lecture 1: How to Ask Questions
Lecture 2: Source Code
Lecture 3: Join .NET Community of Students
Lecture 4: Materials
Chapter 2: Introduction
Lecture 1: Outline
Lecture 2: Main Concepts
Lecture 3: Threads and Related Notions
Lecture 4: Why async programming Important?
Lecture 5: Hanging Application Demo
Lecture 6: Problems Related to Multithreading
Lecture 7: Conclusion
Chapter 3: Thread API, Thread Pool, APM & EAP
Lecture 1: Outline
Lecture 2: Create Process
Lecture 3: Starting a Thread
Lecture 4: Cancelling a Thread
Lecture 5: Coordinating Threads
Lecture 6: Threading and COM
Lecture 7: How Thread Pool Works
Lecture 8: Worker and I/O Threads
Lecture 9: I/O-Bound Operations
Lecture 10: APM and EAP
Lecture 11: Conclusion
Chapter 4: Tasks
Lecture 1: Outline
Lecture 2: What is a Task? Starting a Task
Lecture 3: Task States
Lecture 4: Cancelling a Task
Lecture 5: Chaining Tasks (Continuations)
Lecture 6: Waiting for a Task
Lecture 7: Creating I/O-Based Tasks
Lecture 8: Error Handling
Lecture 9: Global Exception Handling
Lecture 10: Nested and Child Tasks
Lecture 11: TaskCompletionSource
Lecture 12: Conclusion
Chapter 5: Async and Await
Lecture 1: Outline
Lecture 2: What is Async?
Lecture 3: Async Method Return Types
Lecture 4: Where "await" can be Used?
Lecture 5: Exceptions in Async Code
Lecture 6: Conclusion
Chapter 6: Synchronization in Multithreaded Scenarios
Lecture 1: Outline
Lecture 2: Resources Shared by Threads
Lecture 3: Atomic Operations and Thread Safety
Lecture 4: Interlocked
Lecture 5: Monitor (lock)
Lecture 6: ReaderWriterLockSlim
Lecture 7: Semaphore
Lecture 8: SynchronizationContext
Lecture 9: Deadlock
Lecture 10: Conclusion
Chapter 7: Signaling Constructs
Lecture 1: Outline
Lecture 2: Signaling with AutoResetEvent and ManuallyResetEventSlim
Lecture 3: CountdownEvent and Barrier
Lecture 4: Crossing Boundaries of a Process
Lecture 5: Conclusion
Chapter 8: Spinning
Lecture 1: Outline
Lecture 2: Blocking vs Spinning
Lecture 3: SpinLock and SpinWait
Lecture 4: Implementing our own spinner: UpdateableSpin
Lecture 5: Conclusion
Chapter 9: Concurrent Collections
Lecture 1: Outline
Lecture 2: Introduction
Lecture 3: Implementing ImmutableStack and the Problem of Memory Pressure
Lecture 4: Immutable Stack and ImmutableQueue
Lecture 5: Immutable List
Lecture 6: Immutable Sets
Lecture 7: Immutable Dictionary
Lecture 8: Builders in Immutable Collections
Lecture 9: ConcurrentStack and ConcurrentQueue
Lecture 10: ConcurrentBag
Lecture 11: ConcurrentDictionary
Lecture 12: Blocking Collection and Producer/Consumer Pattern
Lecture 13: Conclusion
Chapter 10: Parallel Programming
Lecture 1: Outline
Lecture 2: Introduction
Lecture 3: Parallel Class
Lecture 4: PLINQ
Lecture 5: Cancelling Parallel and PLINQ
Lecture 6: Conclusion
Lecture 7: BONUS
Instructors
-
Engineer Spock
Software Engineer – 1000+ Reviews, Average Score – 4.5
Rating Distribution
- 1 stars: 11 votes
- 2 stars: 22 votes
- 3 stars: 95 votes
- 4 stars: 223 votes
- 5 stars: 218 votes
Frequently Asked Questions
How long do I have access to the course materials?
You can view and review the lecture materials indefinitely, like an on-demand channel.
Can I take my courses with me wherever I go?
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!
You may also like
- Top 10 Language Learning Courses to Learn in November 2024
- Top 10 Video Editing Courses to Learn in November 2024
- Top 10 Music Production Courses to Learn in November 2024
- Top 10 Animation Courses to Learn in November 2024
- Top 10 Digital Illustration Courses to Learn in November 2024
- Top 10 Renewable Energy Courses to Learn in November 2024
- Top 10 Sustainable Living Courses to Learn in November 2024
- Top 10 Ethical AI Courses to Learn in November 2024
- Top 10 Cybersecurity Fundamentals Courses to Learn in November 2024
- Top 10 Smart Home Technology Courses to Learn in November 2024
- Top 10 Holistic Health Courses to Learn in November 2024
- Top 10 Nutrition And Diet Planning Courses to Learn in November 2024
- Top 10 Yoga Instruction Courses to Learn in November 2024
- Top 10 Stress Management Courses to Learn in November 2024
- Top 10 Mindfulness Meditation Courses to Learn in November 2024
- Top 10 Life Coaching Courses to Learn in November 2024
- Top 10 Career Development Courses to Learn in November 2024
- Top 10 Relationship Building Courses to Learn in November 2024
- Top 10 Parenting Skills Courses to Learn in November 2024
- Top 10 Home Improvement Courses to Learn in November 2024