کتاب همزمانی در سی‌شارپ: برنامه‌نویسی غیرهمزمان و چندنخی – ویرایش اول
 اثر Nir Dobovizki

عنوان:

C# Concurrency

نویسنده:

Nir Dobovizki

انتشارات:

Manning City: Shelter Island, NY

تاریخ انتشار:

2025

حجم:

1.3MB

دانلود

معرفی کتاب:" همزمانی در سی‌شارپ: برنامه‌نویسی غیرهمزمان و چندنخی در #C "

با راهنمای نهایی برای برنامه‌نویسی غیرهمزمان و چندنخی در #c، به برنامه‌های خود قدرتی چشمگیر بدهید!

کتاب «همزمانی در #C» به شما آموزش می‌دهد چگونه نرم‌افزارهای چندنخی و غیرهمزمان مؤثری در #c بنویسید. تکنیک‌های عملی، مثال‌های واقعی، و نمونه‌کدهای مفید، ابهامات مربوط به async/await را از بین می‌برند و به شما کمک می‌کنند کدی سریع، قابل اعتماد و بدون باگ بنویسید.

در «همزمانی در #c» خواهید آموخت:

  • استفاده کامل از async/await
  • نوشتن کد چندنخی بدون باگ
  • ایجاد کدی چندنخی با بهبود عملکرد واقعی
  • درک مفاهیم چندنخی و ابزارهای غیرهمزمان در #c و NET.
  • تشخیص زمان مناسب استفاده از تکنیک‌های همزمانی

درباره نویسنده:

نیر دوبووِزکی، برنامه‌نویسی باتجربه با بیش از ۳۰ سال سابقه در توسعه سیستم‌های با کارایی بالا است. او با دانش عمیق خود، راه‌حل‌هایی برای مدیریت بن‌بست‌ها، باگ‌های پنهان و رقابت‌های هم‌زمانی ارائه می‌دهد.

درباره فناوری:

برنامه‌های غیرهمزمان و چندنخی می‌توانند چندین کار را هم‌زمان انجام دهند بدون آنکه سرعت یا پایداری قربانی شود. این کتاب به شما می‌آموزد چگونه برنامه‌هایی با عملکرد بالا و بدون خطاهای هم‌زمانی بنویسید.

آنچه در کتاب خواهید یافت:

  • ابزارهای چندنخی و غیرهمزمان در NET.
  • راهنمای استفاده یا عدم استفاده از تکنیک‌های همزمانی
  • آموزش async/await به‌صورت حرفه‌ای

مخاطبان کتاب:

این کتاب برای برنامه‌نویسان باتجربه #c طراحی شده که با برنامه‌نویسی غیرهمزمان آشنا نیستند اما می‌خواهند مهارت‌های خود را در این حوزه گسترش دهند.

فهرست مطالب

  • C# Concurrency
  • brief contents
  • contents
  • preface
  • acknowledgments
  • about this book
  • about the author
  • about the cover illustration
  • Part 1
  • 1 Asynchronous programming and multithreading
  • 1.1 What is multithreading?
  • 1.2 Introducing multicore CPUs
  • 1.3 Asynchronous programming
  • 1.4 Using multithreading and asynchronous programming together
  • 1.5 Software efficiency and cloud computing
  • 2 The compiler rewrites your code
  • 2.1 Lambda functions
  • 2.2 Yield return
  • 3 The async and await keywords
  • 3.1 Asynchronous code complexity
  • 3.2 Introducing Task and Task<T>
  • 3.3 How does async/await work?
  • 3.4 async void methods
  • 3.5 ValueTask and ValueTask<T>
  • 3.6 What about multithreading?
  • 4 Multithreading basics
  • 4.1 Different ways to run in another thread
  • 4.2 Accessing the same variables from multiple threads
  • 4.3 Special considerations for native UI apps
  • 4.4 Waiting for another thread
  • 4.5 Other synchronization methods
  • 4.6 Thread settings
  • 5 async/await and multithreading
  • 5.1 Asynchronous programming and multithreading
  • 5.2 Where does code run after await?
  • 5.3 Locks and async/await
  • 5.4 UI threads
  • 6 When to use async/await
  • 6.1 Asynchronous benefits on servers
  • 6.2 Asynchronous benefits on native client applications
  • 6.3 The downside of async/await
  • 6.4 When to use async await
  • 7 Classic multithreading pitfalls and how to avoid them
  • 7.1 Partial updates
  • 7.2 Memory access reordering
  • 7.3 Deadlocks
  • 7.4 Race conditions
  • 7.5 Synchronization
  • 7.6 Starvation
  • Part 2
  • 8 Processing a sequence of items in the background
  • 8.1 Processing items in parallel
  • 8.2 Processing items sequentially in the background
  • 9 Canceling background tasks
  • 9.1 Introducing CancellationToken
  • 9.2 Canceling using an exception
  • 9.3 Getting a callback when the caller cancels our operation
  • 9.4 Implementing timeouts
  • 9.5 Combining cancelation methods
  • 9.6 Special cancellation tokens
  • 10 Await your own events
  • 10.1 Introducing TaskCompletionSource
  • 10.2 Choosing where continuations run
  • 10.3 Example: Waiting for initialization
  • 10.4 Example: Adapting old APIs
  • 10.5 Old-style asynchronous operations (BeginXXX, EndXXX)
  • 10.6 Example: Asynchronous data structures
  • 11 Controlling on which thread your asynchronous code runs
  • 11.1 await-threading behavior
  • 11.2 Synchronization contexts
  • 11.3 Breaking away—ConfigureAwait(false)
  • 11.4 More ConfigureAwait options
  • 11.5 Letting other code run: Task.Yield
  • 11.6 Task schedulers
  • 12 Exceptions and async/await
  • 12.1 Exceptions and asynchronous code
  • 12.2 await and AggregateException
  • 12.3 The case of the lost exception
  • 12.4 Exceptions and async void methods
  • 13 Thread-safe collections
  • 13.1 The problems with using regular collections
  • 13.2 The concurrent collections
  • 13.3 The immutable collections
  • 13.4 The frozen collections
  • 14 Generating collections asynchronously/await foreach and IAsyncEnumerable
  • 14.1 Iterating over an asynchronous collection
  • 14.2 Generating an asynchronous collection
  • 14.3 Canceling an asynchronous collection
  • 14.4 Other options
  • 14.5 IAsyncEnumerable<T> and LINQ
  • 14.6 Example: Iterating over asynchronously retrieved data
  • 14.7 Example: BlockingCollection<T>-like asynchronous queue
  • index

مشخصات

نام کتاب

C# Concurrency

نویسنده

Nir Dobovizki

انتشارات

Manning City: Shelter Island, NY

تاریخ انتشار

2025

ISBN

9781633438651

تعداد صفحات

250

زبان

انگلیسی

فرمت

pdf

حجم

1.3MB

موضوع

#c