Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Hands-On Parallel Programming with C# 8 and .NET Core 3

You're reading from   Hands-On Parallel Programming with C# 8 and .NET Core 3 Build solid enterprise software using task parallelism and multithreading

Arrow left icon
Product type Paperback
Published in Dec 2019
Publisher Packt
ISBN-13 9781789132410
Length 346 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
Shakti Tanwar Shakti Tanwar
Author Profile Icon Shakti Tanwar
Shakti Tanwar
Arrow right icon
View More author details
Toc

Table of Contents (22) Chapters Close

Preface 1. Section 1: Fundamentals of Threading, Multitasking, and Asynchrony FREE CHAPTER
2. Introduction to Parallel Programming 3. Task Parallelism 4. Implementing Data Parallelism 5. Using PLINQ 6. Section 2: Data Structures that Support Parallelism in .NET Core
7. Synchronization Primitives 8. Using Concurrent Collections 9. Improving Performance with Lazy Initialization 10. Section 3: Asynchronous Programming Using C#
11. Introduction to Asynchronous Programming 12. Async, Await, and Task-Based Asynchronous Programming Basics 13. Section 4: Debugging, Diagnostics, and Unit Testing for Async Code
14. Debugging Tasks Using Visual Studio 15. Writing Unit Test Cases for Parallel and Asynchronous Code 16. Section 5: Parallel Programming Feature Additions to .NET Core
17. IIS and Kestrel in ASP.NET Core 18. Patterns in Parallel Programming 19. Distributed Memory Management 20. Assessments 21. Other Books You May Enjoy

Understanding the degree of parallelism

So far, we have learned how data parallelism gives us the advantage of running loops in parallel on multiple cores of a system, thereby making efficient use of the available CPU resources. You should be aware that there is another important concept that you can use in order to control how many tasks you want to create in your loops. This concept is called the degree of parallelism. It's a number that specifies the maximum number of tasks that can be created by your parallel loops. You can set the degree of parallelism via a property called MaxDegreeOfParallelism, which is part of the ParallelOptions class. The following is the syntax of Parallel.For, wherein you can pass the ParallelOptions instance:

public static ParallelLoopResult For(
int fromInclusive,
int toExclusive,
ParallelOptions parallelOptions,
...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime