Hands-On Parallel Programming with C# 8 and .NET Core 3
در دنیای امروز، عملا هر CPU دارای پردازندههای چند هسته ای است؛ اما اگر برنامه شما، برنامه نویسی موازی را پیاده سازی نکرده باشد، نمیتواند از حداکثر ظرفیت پردازش واقعی ارائه شده توسط سخت افزار استفاده کند. کتاب برنامه نویسی موازی با سی شارپ 8 و NET Core 3، نحوهی نوشتن برنامههای مدرن بهینه و با کارایی بالا با C# 8 و NET Core 3. را به شما نشان میدهد.
در این کتاب، چگونگی پیاده سازی چند ریسمانی و همزمانی را برای ساختن برنامههای بهینه که از قدرت پردازندههای چند هسته استفاده میکنند را یاد خواهید گرفت. با شروع از مبانی threading و همزمانی، شما درباره ساختمان دادههای NET Core. که parallelism را پشتیبانی میکنند یاد خواهید گرفت. این کتاب نحوه برنامه نویسی کردن asynchronous در #C و چگونگی تشخیص و رفع اشکال موثر کد موازی را ارائه میدهد. شما در مورد سرور جدید Kestrel و تفاوت مدل عملیاتی IIS و Kestrel اطلاعات کسب خواهید کرد. همچنین شما درباره شیوههای موثری مثل توسعه آزمون محور و چگونگی آزمون واحد کدهای موازیتان یاد خواهید گرفت. در انتهای این کتاب، شما درک عمیقی از مفاهیم اصلی همزمانی و asynchrony برای ایجاد برنامههای پاسخگو دارید که CPU intensive نیستند.
مطالبی که در کتاب برنامه نویسی موازی با سی شارپ 8 و NET Core 3.، خواهید آموخت:
- نحوه تجزیه و تحلیل یک مساله برای موازی سازی
- الگوهای APM و EAP و چگونگی انتقال کدهای قدیمی به Task
- استفاده از تکنیکهای کاهشی برای به دست آوردن نتایج کل
- نحوهی ایجاد پرس و جوهای PLINQ و عوامل تاثیر گذار بر کارایی پرس و جوهای PLINQ
- حل مشکل همزمانی به دلیل شرایط مسابقه مصرف کننده تولیدکننده
- Primitiveهای همگام سازی موجود در NET Core.
- چگونگی عملکرد مدل threading در IIS و Kestrel
- استفاده از حداکثر منابع سرور
Table of Contents:
Section 1: Fundamentals of Threading, Multitasking, and Asynchrony
Chapter 1: Introduction to Parallel Programming
Chapter 2: Task Parallelism
Chapter 3: Implementing Data Parallelism
Chapter 4: Using PLINQ
Section 2: Data Structures that Support Parallelism in .NET Core
Chapter 5: Synchronization Primitives
Chapter 6: Using Concurrent Collections
Chapter 7: Improving Performance with Lazy Initialization
Section 3: Asynchronous Programming Using C#
Chapter 8: Introduction to Asynchronous Programming
Chapter 9: Async, Await, and Task-Based Asynchronous Programming Basics
Section 4: Debugging, Diagnostics, and Unit Testing for Async Code
Chapter 10: Debugging Tasks Using Visual Studio
Chapter 11: Writing Unit Test Cases for Parallel and Asynchronous Code
Section 5: Parallel Programming Feature Additions to .NET Core
Chapter 12: IIS and Kestrel in ASP.NET Core
Chapter 13: Patterns in Parallel Programming
Chapter 14: Distributed Memory Management