کتاب C# Concurrency: Asynchronous and multithreaded programming (سی شارپ همروند: برنامه نویسی ناهمزمان و چند رشته ای) به بررسی مفاهیم و تکنیکهای برنامهنویسی همزمان و چند رشتهای در زبان C# میپردازد و به توسعهدهندگان کمک میکند تا کدهایی ایمن و کارآمد بنویسند.
این کتاب با تمرکز بر روی ویژگیهای ناهمزمانی و چندرشتهای C#، به تبیین مفاهیم بنیادی و عملیاتی مثل async/await و استفاده از Task Parallel Library (TPL) میپردازد. نویسنده ضمن ارائه مثالهای واقعی، چالشها و مشکلات رایج در برنامهنویسی همزمان را تحلیل کرده و راهحلهایی برای مدیریت وضعیتهای رقابتی و همزمانی ارائه میدهد. هدف نهایی این کتاب تقویت مهارتهای توسعهدهندگان برای طراحی و پیادهسازی برنامههای مقیاسپذیر و کارآمد با استفاده از بهترین شیوهها در حوزه چندرشتهای و ناهمزمان است.
در ادامه مقدمهای از کتاب C# Concurrency را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب C# Concurrency:
من بیش از ۳۰ سال است که توسعهدهنده نرمافزار هستم و از اواخر دهه ۱۹۹۰ مشغول توسعه سرورهای با عملکرد بالا با استفاده از چند رشتهای و برنامهنویسی ناهمزمان هستم. از سال ۲۰۰۳ از زبان C# استفاده میکنم. در طول یک دهه و اندی گذشته، بهعنوان مشاور کار کردهام و به پروژهها در مدت زمان کوتاهی وارد شده و به حل مشکلات خاص کمک کردهام. در این دهه، این افتخار نصیبم شده که به بسیاری از شرکتها سر بزنم و در پروژههای زیادی مشارکت کنم.
در حالی که هر پروژه بهوضوح کاملاً متفاوت است و هر شرکت فناوریهای نوآورانه، disruptive و منحصر به فرد خود را اختراع میکند، پس از مواجهه با پروژههای کافی، شروع به دیدن شباهتهایی میکنید. و یکی از مسائلی که بارها و بارها مشاهده کردهام، مشکلات ناشی از استفاده نادرست از چند رشتهای و برنامهنویسی ناهمزمان است.
چند رشتهای یک مفهوم ساده است: شامل اجرای چندین کار بهطور همزمان است. بهدست آوردن آن بهطرز صحیح بسیار دشوار است، اما با وجود این دشواری، بهمدت طولانی بهطور گستردهای استفاده شده است. توسعهدهندگانی مانند شما که وقت میگذارند تا چند رشتهای را از طریق کتابها مطالعه کنند، قادر به استفاده مؤثر از آن هستند.
برنامهنویسی ناهمزمان از زمان اختراع میکروپروسسور وجود داشته و مدتهاست که در سرورهای با عملکرد بالا استفاده میشود. با این حال، زمانی که ویژگی async/await در C# در سال ۲۰۱۲ معرفی شد، در بین توسعهدهندگان معمولی محبوبیت بیشتری پیدا کرد. (این ویژگی قبلتر در جاوا اسکریپت معرفی شده بود، اما بهصورت محدود.) بر اساس مشاهداتم از پروژههای مختلف و تجربهام در انجام مصاحبههای شغلی، دریافتم که تعداد کمی از افراد درک درستی از نحوه کارکرد async/await دارند.
مشکلات ناشی از کمبود دانش در زمینه چند رشتهای و برنامهنویسی ناهمزمان به وضوح مشهود است. در مدت زمان حدود یک ماه که در مورد انتشار این کتاب با انتشارات مانیگ صحبت کردم، در سه شرکت مختلف آموزش چند رشتهای و async/await را ارائه دادم.
و اینچنین بود که کتاب C# Concurrency متولد شد. آنچه در پی آن آمد، کمی بیشتر از دو سال کاوش عمیق در زمینه چند رشتهای و برنامهنویسی ناهمزمان در C# بود. در طول این زمان، چیزهای زیادی یاد گرفتم. واقعاً هیچ راه بهتری برای یادگیری چیزی از آموزش دادن آن وجود ندارد و امیدوارم این کتاب بهاندازهای برای شما مفید باشد که نوشتن آن برای من بوده است.
درباره کتاب C# Concurrency
این کتاب بهگونهای طراحی شده است که به توسعهدهندگان C# کمک کند تا کدهای برنامههای چند رشتهای و ناهمزمان ایمن و کارآمد بنویسند. تمرکز آن بر تکنیکها و ویژگیهای عملی است که احتمالاً در توسعه نرمافزار روزمره با آنها روبرو میشوید.
کتاب C# Concurrency به جزئیات لازم برای نوشتن و اشکالزدایی کدهای چند رشتهای و ناهمزمان میپردازد و تکنیکهای عجیب و جالبی را که فقط در صورت نیاز به ساخت چیزهایی مانند سرور پایگاه داده خودتان کاربرد دارند، کنار میگذارد. این تکنیکها برای کدهای معمولیToo پیچیده هستند و احتمالاً اگر بخواهید آنها را در کدهای عادی استفاده کنید، به دردسر میافتید، زیرا چند رشتهای معمولی به اندازه کافی دشوار است.
چه کسی باید کتاب C# Concurrency را بخواند؟
این کتاب برای هر توسعهدهنده C# که میخواهد دانش خود را در مورد چند رشتهای و برنامهنویسی ناهمزمان بهبود بخشد، نوشته شده است. اطلاعات موجود در این کتاب به هر نسخه از .NET، .NET Core و .NET Framework که از سال ۲۰۱۲ منتشر شده، و به هر دو سیستمعامل ویندوز و لینوکس (بهطور واضح فقط برای .NET Core و .NET 5 و نسخههای بعدی، زیرا نسخههای قبلی از لینوکس پشتیبانی نمیکنند) قابل کاربرد است.
این کتاب بیشتر بر توسعه Backend تمرکز دارد، اما همچنین مواردی که برای نوشتن برنامههای UI نیاز دارید را پوشش میدهد.
چگونه کتاب C# Concurrency سازماندهی شده است: نقشه راه
این کتاب دارای دو بخش است که شامل ۱۴ فصل است.
بخش ۱ کتاب C# Concurrency مبانی چند رشتهای و async/await در C# را پوشش میدهد:
فصل ۱ به معرفی مفاهیم و اصطلاحات چند رشتهای و برنامهنویسی ناهمزمان میپردازد.
فصل ۲ تکنیکهایی را که کامپایلر .NET برای اجرای قابلیتهای پیشرفته استفاده میکند، بررسی میکند.
فصل ۳ به کاوش عمیق در نحوه عملکرد async/await اختصاص دارد.
فصل ۴ چند رشتهای را توضیح میدهد.
فصل ۵ فصول ۳ و ۴ را به هم متصل کرده و نشان میدهد چگونه async/await با چند رشتهای تعامل دارد.
فصل ۶ به بحث در مورد زمانی که باید از async/await استفاده کنید میپردازد – فقط به این دلیل که میتوانید از آن استفاده کنید، به این معنی نیست که باید در هر جا استفاده کنید.
فصل ۷ با اطلاعاتی درباره مشکلات رایج چند رشتهای و مهمتر از آن، اقداماتی که برای جلوگیری از آنها باید انجام دهید، بخش اول را به پایان میرساند.
بخش ۲ کتاب C# Concurrency درباره چگونگی استفاده از اطلاعاتی است که در بخش ۱ یاد گرفتهاید:
فصل ۸ به پردازش دادهها در پسزمینه میپردازد.
فصل ۹ درباره متوقف کردن پردازشهای پسزمینه است.
فصل ۱۰ نحوه ساخت اجزای ناهمزمان پیشرفته که بیشتر از ترکیب عملیات ناهمزمان داخلی انجام میدهند را آموزش میدهد.
فصل ۱۱ به موارد استفاده پیشرفته async/await و threading میپردازد.
فصل ۱۲ به شما کمک میکند تا مشکلی با استثناها در کد ناهمزمان را اشکالزدایی کنید.
فصل ۱۳ به بررسی مجموعههای thread-safe میپردازد.
فصل ۱۴ نشان میدهد چگونه میتوانید خودتان چیزهایی بسازید که مانند مجموعههای ناهمزمان کار کنند.
سرفصلهای کتاب C# Concurrency:
- C# Concurrency
- brief contents
- contents
- preface
- acknowledgments
- about this book
- Who should read this book
- How this book is organized: A road map
- About the code
- liveBook discussion forum
- about the author
- about the cover illustration
- Part 1
- 1 Asynchronous programming and multithreading
- 2 The compiler rewrites your code
- 3 The async and await keywords
- 4 Multithreading basics
- 5 async/await and multithreading
- 6 When to use async/await
- 7 Classic multithreading pitfalls and how to avoid them
- Part 2
- 8 Processing a sequence of items in the background
- 9 Canceling background tasks
- 10 Await your own events
- 11 Controlling on which thread your asynchronous code runs
- 12 Exceptions and async/await
- 13 Thread-safe collections
- 14 Generating collections asynchronously/await foreach and IAsyncEnumerable
- index
جهت دانلود کتاب C# Concurrency میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.