An open API service indexing awesome lists of open source software.

https://github.com/pferreirafabricio/csharp-parallel-concurrency

⚡ A comprehensive study of asynchronous, concurrent, and parallel programming concepts in C#
https://github.com/pferreirafabricio/csharp-parallel-concurrency

async async-await asynchronous asynchronous-programming cancellationtoken concurrency csharp dotnet parallel

Last synced: 2 months ago
JSON representation

⚡ A comprehensive study of asynchronous, concurrent, and parallel programming concepts in C#

Awesome Lists containing this project

README

        



C# - Async, concurrent, and parallelism concepts


⚡ This project is a comprehensive study of asynchronous, concurrent, and parallel programming concepts in C#.





license url



## :open_book: About

This project provides a deep dive into the inner workings of async/await and the magic of the C# compiler. The project includes practical examples and case studies, such as a web server with 2 CPUs, to illustrate these concepts in real-world scenarios.

The project also explores the differences between concurrent and parallel programming, and how to make your applications more responsive and faster with asynchronous programming. It provides insights into advanced async topics like progress reports, task cancellation, and more.

> [!NOTE]
> This project is a resource to help me understand the concepts of async, concurrent, and parallelism and their use in practical applications.

## ✍️ Docs

- [concepts.en-US.md](docs/concepts.en-US.md)

## :bricks: This project was built with

- [.NET 8](https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-8/overview)

## 📚 References

> [!NOTE]
> I put this in an order that I consider will be more beneficial to watch to understand these concepts

### English

- [C# Async / Await - Make your app more responsive and faster with asynchronous programming](https://www.youtube.com/watch?v=2moh18sh5p4)
- [C# Async Programming - Part 1: Conceptual Background](https://www.youtube.com/watch?v=FIZVKteEFyk)
- [Is it concurrent or parallel?](https://www.youtube.com/watch?v=r2__Rw8vu1M)
- [C# Advanced Async - Getting progress reports, cancelling tasks, and more](https://www.youtube.com/watch?v=ZTKGRJy5P2M)
- [How Do You Cancel an async Method? | Step-by-Step Tutorial](https://www.youtube.com/watch?v=PQORTKShZFw)
- [Writing async/await from scratch in C# with Stephen Toub](https://www.youtube.com/watch?v=R-z2Hv-7nxk)
- [AsyncGuidance - David Fowler](https://github.com/davidfowl/AspNetCoreDiagnosticScenarios/blob/master/AsyncGuidance.md)

### Portuguese

- [Por debaixo do capô: async/await e as mágicas do compilador csharp](https://dev.to/angelobelchior/por-debaixo-do-capo-asyncawait-e-as-magicas-do-compilador-csharp-28ol)
- [Async/Await: Task.ConfigureAwait, Deadlock e Pink Floyd](https://dev.to/angelobelchior/taskconfigureawait-deadlock-e-pink-floyd-416g)
- [Async/Await: Task.Result e a morte dos Pandas de Madagascar](https://dev.to/angelobelchior/por-debaixo-do-capo-taskresult-e-a-morte-dos-pandas-de-madagascar-5071)
- [Async/Await: Para que serve o CancellationToken?](https://dev.to/angelobelchior/asyncawait-para-que-serve-o-cancellationtoken-nm7)