Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases now! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
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
C# 6 and .NET Core 1.0

You're reading from   C# 6 and .NET Core 1.0 Modern Cross-Platform Development

Arrow left icon
Product type Paperback
Published in Mar 2016
Publisher
ISBN-13 9781785285691
Length 550 pages
Edition 1st Edition
Languages
Arrow right icon
Toc

Table of Contents (20) Chapters Close

Preface 1. Hello, C#! Welcome, .NET Core! FREE CHAPTER 2. Speaking C# 3. Controlling the Flow, Converting Types, and Handling Exceptions 4. Using Common .NET Types 5. Using Specialized .NET Types 6. Building Your Own Types with Object-Oriented Programming 7. Implementing Interfaces and Inheriting Classes 8. Working with Relational Data Using the Entity Framework 9. Querying and Manipulating Data with LINQ 10. Working with Files, Streams, and Serialization 11. Protecting Your Data and Applications 12. Improving Performance and Scalability with Multitasking 13. Building Universal Windows Platform Apps Using XAML 14. Building Web Applications and Services Using ASP.NET Core 15. Taking C# Cross-Platform 16. Building a Quiz A. Answers to the Test Your Knowledge Questions B. Creating a Virtual Machine for Your Development Environment Index

Using multiple threads with Parallel LINQ


By default, only one thread is used to execute a LINQ query. Parallel LINQ (PLINQ) is an easy way to enable multiple threads to execute a query.

To see it in action, we will start with some code that only uses a single thread to double 200 million integers.

Add a new console application project named Ch09_PLINQ. Import the System.Diagnostics namespace and statically import the System.Console type.

Add the following statements to the Main method:

var watch = Stopwatch.StartNew();
Write("Press ENTER to start. ");
ReadLine();
watch.Start();
IEnumerable<int> numbers = Enumerable.Range(1, 200000000);
var squares = numbers.Select(number => number * 2).ToArray();
watch.Stop();
WriteLine($"{watch.ElapsedMilliseconds:#,##0} ellapsed milliseconds.");

Press Ctrl + F5 to run the application, but do not press Enter yet.

Right-click on the Windows Taskbar or press Ctrl + Alt + Delete, and then click on Task Manager.

At the bottom of the Task Manager window,...

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