Skip to content

Async coordination primitives#53171

Draft
BillWagner wants to merge 2 commits intodotnet:mainfrom
BillWagner:async-coordination
Draft

Async coordination primitives#53171
BillWagner wants to merge 2 commits intodotnet:mainfrom
BillWagner:async-coordination

Conversation

@BillWagner
Copy link
Copy Markdown
Member

@BillWagner BillWagner commented Apr 16, 2026

Fixes #17714 (final PR)

  1. Create async-coordination-primitives.md — from "Building Async Coordination Primitives" parts 1-4 (AsyncManualResetEvent, AsyncAutoResetEvent, AsyncCountdownEvent, AsyncBarrier).
  2. Create async-coordination-primitives-advanced.md — from parts 5-7 (AsyncSemaphore, AsyncLock, AsyncReaderWriterLock). Note BCL equivalents (SemaphoreSlim.WaitAsync, System.Threading.Channels).
  3. Heavy modernization needed: update all code for current .NET idioms, call out which primitives now have framework equivalents.
  4. Add both to TOC under a "Coordination primitives" sub-section.

Internal previews

📄 File 🔗 Preview link
docs/navigate/advanced-programming/toc.yml docs/navigate/advanced-programming/toc
docs/standard/asynchronous-programming-patterns/async-coordination-primitives-advanced.md Async semaphores, locks, and reader/writer coordination
docs/standard/asynchronous-programming-patterns/async-coordination-primitives.md "Build async coordination primitives"

Fixes dotnet#17714 (final PR)

1. Create `async-coordination-primitives.md` — from "Building Async Coordination Primitives" parts 1-4 (AsyncManualResetEvent, AsyncAutoResetEvent, AsyncCountdownEvent, AsyncBarrier).
1. Create `async-coordination-primitives-advanced.md` — from parts 5-7 (AsyncSemaphore, AsyncLock, AsyncReaderWriterLock). **Note BCL equivalents** (`SemaphoreSlim.WaitAsync`, `System.Threading.Channels`).
1. **Heavy modernization needed:** update all code for current .NET idioms, call out which primitives now have framework equivalents.
1. Add both to TOC under a "Coordination primitives" sub-section.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Create plan for porting relevant blog posts to docs

2 participants