Parallel Programming with C# and .NET Core
262 pages
English

Vous pourrez modifier la taille du texte de cet ouvrage

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris

Parallel Programming with C# and .NET Core , livre ebook

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris
Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus
262 pages
English

Vous pourrez modifier la taille du texte de cet ouvrage

Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus

Description

Learn, understand, and code parallel programs with confidence using C# 8 and .NET Core 3.0 Key Features a- Explore and work with the new features and enhancements in .NET Core 3.1 and C# 8. a- Understand the fundamentals of parallel programming. a- Learn various threading patterns and synchronization constructs. a- Build concurrent applications using C# and .NET Core 3.1 from the ground up. a- Understand the principles of unit testing and debugging in concurrent applications. Description Application development has evolved over the last decade, and with the advent of the latest technologies like Angular, React on client-side, and ASP.NET Core, Spring on the server-side, the consumer expectations have risen like never before. The primary objective of this book is to help readers understand the importance of asynchronous programming and various ways it can be achieved using .NET Core 3.1 and C# 8 to successfully build concurrent applications. Along the way reader will learn the fundamentals of threading, asynchronous programming, various asynchronous patterns, synchronisation constructs, unit testing parallel methods, debugging enterprise applications, and cool tips and tricks. There are samples based on practical examples that will help the reader effectively use parallel programming. By the end of this book, you will be equipped with all the knowledge needed to understand, code, and debug multithreaded, concurrent and parallel programs with confidence. What will you learn a- Understand the internals of async/await. a- Learn how to build applications using async/await. a- Write unit tests for asynchronous methods. a- Explore various debugging techniques for enterprise applications. a- Discover cool tips, tricks, and best practices to help you avoid common mistakes. Who this book is for Beginners and intermediate developers who build enterprise applications using .NET Core platform and tools. Advanced users can also use this book for brushing up fundamentals and for learning debugging tools, techniques, tips, and tricks. TABLE OF CONTENTS 1. Getting Started 2. What's new in C# 8? 3. .NET Core 3.1 4. Demystifying Threading 5. Parallel Programming 6. The Threading Patterns 7. Synchronization Constructs 8. Unit Testing Parallel and Asynchronous Programs 9. Debugging and Troubleshooting ( Its spelling is incorrect in pdf) 10. Tips and Tricks ABOUT THE AUTHORS Rishabh Verma is a Microsoft certified professional and works at Microsoft as a senior development consultant, helping the customers to design, develop, and deploy enterprise-level applications. An electronic engineer by education, he has 12+ years of hardcore development experience on the .NET technology stack. He is passionate about creating tools, Visual Studio extensions, and utilities to increase developer productivity. His interests are .NET Compiler Platform (Roslyn), Visual Studio Extensibility, code generation, and .NET Core. He is a member of the .NET Foundation (https://www.dotnetfoundation.org). He occasionally blogs at https://rishabhverma.net/. He has authored a book on .NET Core 2.0 prior to this title. His twitter id is @VermaRishabh, and his LinkedIn page is https://www.linkedin.com/in/rishabhverma/ Neha Shrivastava is a Microsoft certified professional and works as a software engineer for the Cloud & AI group at Microsoft India Development Center. She has about 10 years' development experience and has expertise in the financial, healthcare, and e-commerce domains. Neha did her bachelor's in electronics engineering. Her interests are the ASP.NET stack, Azure, and cross-platform development. She is passionate about learning new technologies and keeps herself up to date with the latest advancements. She has already written a book on .NET Core 2.0 last year. Her LinkedIn profile page is https://www.linkedin.com/in/neha-shrivastava-99a80135/ Ravindra Akella works as a Senior Consultant at Microsoft with more than 13 years of software development experience. Specializing in .NET and web-related technologies, his current role involves end to end ownership of products right from architecture to delivery. He has lead software architecture, design, development, and delivery of large complex solutions with >80 software engineers using Azure Cloud and related technologies. He is a tech-savvy developer who is passionate about embracing new technologies. He has delivered talks and sessions on Azure and other technologies in international conferences. His LinkedIn profile is https://www.linkedin.com/in/ravindra-akella/

Sujets

Informations

Publié par
Date de parution 03 septembre 2020
Nombre de lectures 4
EAN13 9789389423334
Langue English
Poids de l'ouvrage 1 Mo

Informations légales : prix de location à la page 0,0600€. Cette information est donnée uniquement à titre indicatif conformément à la législation en vigueur.

Extrait

Parallel Programming with C# and .NET Core

Developing Multithreaded Applications Using C# and .NET Core 3.1 from Scratch

Rishabh Verma
Neha Shrivastava
Ravindra Akella
FIRST EDITION 2020
Copyright © BPB Publications, India
ISBN: 978-93-89423-327
All Rights Reserved. No part of this publication may be reproduced or distributed in any form or by any means or stored in a database or retrieval system, without the prior written permission of the publisher with the exception to the program listings which may be entered, stored and executed in a computer system, but they can not be reproduced by the means of publication.
LIMITS OF LIABILITY AND DISCLAIMER OF WARRANTY
The information contained in this book is true to correct and the best of author’s & publisher’s knowledge. The author has made every effort to ensure the accuracy of these publications, but cannot be held responsible for any loss or damage arising from any information in this book.
All trademarks referred to in the book are acknowledged as properties of their respective owners.
Distributors:
BPB PUBLICATIONS
20, Ansari Road, Darya Ganj
New Delhi-110002
Ph: 23254990/23254991
MICRO MEDIA
Shop No. 5, Mahendra Chambers,
150 DN Rd. Next to Capital Cinema,
V.T. (C.S.T.) Station, MUMBAI-400 001
Ph: 22078296/22078297
DECCAN AGENCIES
4-3-329, Bank Street,
Hyderabad-500195
Ph: 24756967/24756400
BPB BOOK CENTRE
376 Old Lajpat Rai Market,
Delhi-110006
Ph: 23861747
Published by Manish Jain for BPB Publications, 20 Ansari Road, Darya Ganj, New Delhi-110002 and Printed by him at Repro India Ltd, Mumbai
Dedicated to
All the enthusiastic readers and to the wonderful .NET community!
All the COVID-19 warriors in the world who are fighting the war against this deadly virus tirelessly and risking their lives to save the human race! More power to them!
About the Authors
Rishabh Verma is a Microsoft certified professional and works at Microsoft as a senior development consultant, helping the customers to design, develop, and deploy enterprise-level applications. An electronic engineer by education, he has 12+ years of hardcore development experience on the .NET technology stack. He is passionate about creating tools, Visual Studio extensions, and utilities to increase developer productivity. His interests are .NET Compiler Platform (Roslyn), Visual Studio Extensibility, code generation, and .NET Core. He is a member of the .NET Foundation ( https://www.dotnetfoundation.org ). He occasionally blogs at https://rishabhverma.net/ . His twitter id is @VermaRishabh , and his LinkedIn page is https://www.linkedin.com/in/rishabhverma/
Neha Shrivastava is a Microsoft certified professional and works as a software engineer for the Cloud & AI group at Microsoft India Development Center. She has about ten years’ development experience and has expertise in the financial, healthcare, and e-commerce domains. Neha did a BE in electronics engineering. Her interests are the ASP.NET stack, Azure, and cross-platform development. She is passionate about learning new technologies and keeps herself up to date with the latest advancements. Her LinkedIn profile is https://www.linkedin.com/in/neha-shrivastava-99a80135/
Ravindra Akella works as a Senior Consultant at Microsoft with more than 13 years of software development experience. Specializing in .NET and web-related technologies, his current role involves end to end ownership of products right from architecture to delivery. He has lead software architecture, design, development, and delivery of large complex solutions with >80 software engineers using Azure Cloud and related technologies. He is a tech-savvy developer who is passionate about embracing new technologies. He has delivered talks and sessions on Azure and other technologies in international conferences. His LinkedIn profile is https://www.linkedin.com/in/ravindra-akella/
Acknowledgements
When a book gets published, only the names of authors and editors find a mention, but numerous unsung heroes play an equally important role, and without them, the project cannot be completed or successful. I have a long list of such heroes to be thanked.
My sincere gratitude to my architects (Ranjiv Sharma, Shrenik Jhaveri, Prasad Ganganagunta) as every discussion with them gave me a fresh perspective on a problem and something new to learn. My heartfelt thanks to my managers (Ashwani Sharma, Manish Sanga), who have always encouraged and supported me in writing this book apart from my professional work. A big shout out to all my colleagues, friends, and team members who made me feel good about book writing and supporting me.
Without reliable support from home, things appear rather challenging to accomplish, especially when they take away your time. I am grateful to my parents (Smt. Pratibha Verma & Shri R C Verma) and my brother (Rishi Verma) for their continued support and being a constant source of energy. I owe this book to my wife and co-author Neha, who sacrificed her numerous weekends and supported me in meeting the deadlines.
Lastly, but most importantly, I would like to thank my team (Neha, Ravindra) and the fantastic team of BPB Publications, for providing us with this opportunity to share our learning and contribute to the community.
—Rishabh Verma
I would like to acknowledge with my sincerest gratitude the support and love of my parents, Smt. Archana Shrivastava and Shri O.P. Shrivastava; my brother, Dr. Utkarsh Shrivastava, sister-in-law Dr. Samvartika Shrivastava and last but not the least, my husband, who is also my co-author in this book, Rishabh. They all kept me going with their constant support and encouragement.
—Neha Shrivastava
There are a few people I want to thank for the continued and ongoing support they have given me during the writing of this book. I am incredibly grateful to my parents for their love, prayers, caring and sacrifices, I am very much thankful to my wife Srividya and my son Vaarush for their love, understanding, prayers and continuing support to complete this book.
Finally, I would like to thank my co-author Rishabh and BPB publications for giving me this opportunity to write this book.
—Ravindra Akella

Preface
Application development has evolved over the last decade, and with the advent of the latest technologies like Angular, React on client-side, and ASP.NET Core, Spring on the server-side, the consumer expectations have risen like never before. The new mantra for software development these days is “Slow is the new downtime,” which means performance is one of the most crucial factors in application development and concurrency is one of the critical parameters that play a significant role in allowing applications to process requests simultaneously and hence improving perceived performance.
The primary objective of this book is to help readers understand the importance of asynchronous programming and various ways it can be achieved using .NET Core and C# 8 to build concurrent applications successfully. Along the way reader will learn the fundamentals of threading, asynchronous programming, various asynchronous patterns, synchronization constructs, unit testing parallel methods, debugging enterprise applications, and cool tips and tricks.
There are samples based on practical examples that will help the reader effectively use parallel programming. By the end of this book, you will be equipped with all the knowledge needed to understand, code, and debug multithreaded, concurrent and parallel programs with confidence.
Over the ten chapters in this book, you will learn the following:
Chapter 1 : This chapter runs through the prerequisites to get started with the book. The chapter introduces several tools that help in working with parallel programming. We will also install Visual Studio 2019 and develop our very first sample C# 8 application on .NET Core 3.1 using Visual Studio 2019.
Chapter 2 : This chapter introduces the readers with the new features and enhancements that are shipped in C# 8 with examples.
Chapter 3 : .NET Core 3.1 is the latest and greatest major version of .NET Core. This chapter discusses the .NET Core 3.1 framework and describes what’s new in .NET Core 3.1.
Chapter 4 : This chapter builds a solid foundation on parallel programming and demystifies the fundamental concepts and jargon that comes across while using threads and tasks. The chapter also discusses the limitations of threads and tasks and when they should be avoided.
Chapter 5 : This chapter introduces the concepts of data and task parallelism to the readers and discusses the new recommended async-await pattern in depth.
Chapter 6 : In this chapter, we will take a deep dive on the patterns that are available using async-await and tasks which can be used in implementing enterprise application.
Chapter 7 : In this chapter we will learn why synchronization is needed and various synchronization constructs and classes available in .NET Core 3.1
Chapter 8 : Unit testing is one of the critical aspects of software development and even more so in multithreaded, concurrent, and parallel programming. In this chapter, we will see how to unit test asynchronous methods and various frameworks available to write useful unit tests.
Chapter 9 : Debugging is an essential part of application development as well as bug fixing. This chapter discusses debugging multithreaded applications in detail and introduces various tools that can help you debug multithreaded applications in development as well as production environments.
Chapter 10 : This chapter shares the tips, tricks, and best practices of multithreading and parallel programming with the readers.
Downloading the code bundle and coloured images:
Please follow the link to download the Code Bundle and the Coloured Images of the book:
https://rebrand.ly/362f5
Errata
We take immense pride in our work at BPB Publications and follow best practices to ensure the ac

  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents