user@runtime:~/blog$ grep -l "concurrency" posts/*.md

concurrency

9 posts tagged with concurrency.

2026-04-15 9m

System.Threading.Lock: The Purpose-Built Lock That Replaces Your object Hack

Since .NET 9, the System.Threading.Lock type gives you a dedicated, faster, and semantically clearer alternative to locking on a bare object. Here is how it works, why it is roughly 25% faster than Monitor, and what to watch out for when migrating.

2026-02-09 4m

ETags and Conditional Requests in .NET APIs

How to implement ETags and conditional requests in ASP.NET Core for efficient caching and safe concurrent updates.

2026-01-08 5m

ThreadPool Tuning in .NET: What You Can (and Cannot) Control

Understand how the .NET ThreadPool manages threads, when to adjust minimum threads, and how to diagnose starvation.

2026-01-05 5m

Diagnosing and Preventing Deadlocks in Async .NET Code

Identify the root causes of async deadlocks in .NET, learn diagnostic techniques, and apply patterns that prevent them.

2026-01-01 4m

Interlocked and Lock-Free Patterns in .NET

Use Interlocked operations for high-performance, lock-free atomic updates to shared state in concurrent .NET applications.

2025-12-29 4m

SemaphoreSlim for Async Throttling and Rate Limiting

Use SemaphoreSlim to limit concurrent access to resources in async code, preventing overload of databases, APIs, and shared services.

2025-12-18 4m

Task.WhenAll vs Task.WhenAny: Patterns for Concurrent Operations

Master Task.WhenAll and Task.WhenAny patterns for running concurrent async operations, with error handling and timeout strategies.

2025-12-15 4m

Parallel.ForEachAsync: Controlled Async Concurrency

Use Parallel.ForEachAsync to process collections concurrently with built-in degree-of-parallelism control and cancellation support.

2025-12-11 4m

System.Threading.Channels for Producer-Consumer Pipelines

Use System.Threading.Channels to build efficient, back-pressure-aware producer-consumer pipelines in .NET.