Cargando…

Hands-on parallel programming with C# 8 and .NET Core 3 : build solid enterprise software suing task parallelism and multithreading /

Hands-On Parallel Programming with C# 8 and .NET Core 3 presents a smart way of learning and implementing parallel programming concepts. The book details threading and concurrency fundamentals that will help any C# developer build optimized applications.

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Tanwar, Shakti (Autor)
Formato: Electrónico eBook
Idioma:Inglés
Publicado: Birmingham, UK : Packt Publishing, 2019.
Temas:
Acceso en línea:Texto completo (Requiere registro previo con correo institucional)
Tabla de Contenidos:
  • Cover
  • Title Page
  • Copyright and Credits
  • Dedication
  • About Packt
  • Contributors
  • Table of Contents
  • Preface
  • Section 1: Fundamentals of Threading, Multitasking, and Asynchrony
  • Chapter 1: Introduction to Parallel Programming
  • Technical requirements
  • Preparing for multi-core computing
  • Processes
  • Some more information about the OS
  • Multitasking
  • Hyper-threading
  • Flynn's taxonomy
  • Threads
  • Types of threads
  • Apartment state
  • Multithreading
  • Thread class
  • Advantages and disadvantages of threads
  • The ThreadPool class
  • Advantages, disadvantages, and when to avoid using ThreadPool
  • BackgroundWorker
  • Advantages and disadvantages of using BackgroundWorker
  • Multithreading versus multitasking
  • Scenarios where parallel programming can come in handy
  • Advantages and disadvantages of parallel programming
  • Summary
  • Questions
  • Chapter 2: Task Parallelism
  • Technical requirements
  • Tasks
  • Creating and starting a task
  • The System. Threading. Tasks. Task class
  • Using lambda expressions syntax
  • Using the Action delegate
  • Using delegate
  • The System. Threading. Tasks. Task. Factory. StartNew method
  • Using lambda expressions syntax
  • Using the Action delegate
  • Using delegate
  • The System. Threading. Tasks. Task. Run method
  • Using lambda expressions syntax
  • Using the Action delegate
  • Using delegate
  • The System. Threading. Tasks. Task. Delay method
  • The System. Threading. Tasks. Task. Yield method
  • The System. Threading. Tasks. Task. FromResult method
  • The System. Threading. Tasks. Task. FromException and System. Threading. Tasks. Task. FromException methods
  • The System. Threading. Tasks. Task. FromCanceled and System. Threading. Tasks. Task. FromCanceled methods
  • Getting results from finished tasks
  • How to cancel tasks
  • Creating a token
  • Creating a task using tokens
  • Polling the status of the token via the IsCancellationRequested property
  • Registering for a request cancellation using the Callback delegate
  • How to wait on running tasks
  • Task. Wait
  • Task. WaitAll
  • Task. WaitAny
  • Task. WhenAll
  • Task. WhenAny
  • Handling task exceptions
  • Handling exception from single tasks
  • Handling exceptions from multiple tasks
  • Handling task exceptions with a callback function
  • Converting APM patterns into tasks
  • Converting EAPs into tasks
  • More on tasks
  • Continuation tasks
  • Continuing tasks using the Task. ContinueWith method
  • Continuing tasks using Task. Factory. ContinueWhenAll and Task. Factory. ContinueWhenAll
  • Continuing tasks using Task. Factory. ContinueWhenAny and Task. Factory. ContinueWhenAny
  • Parent and child tasks
  • Creating a detached task
  • Creating an attached task
  • Work-stealing queues
  • Summary
  • Chapter 3: Implementing Data Parallelism
  • Technical requirements
  • Moving from sequential loops to parallel loops
  • Using the Parallel. Invoke method
  • Using the Parallel. For method