🖥 C# поддерживает блокировку с помощью оператора `lock`.
С его помощью можно определить блок кода, доступ к которому будет иметь только один поток.
Однако в асинхронном контексте он не работает.
Поэтому придется использовать какой-либо другой примитив параллелизма C#.
- Семафор
- SemaphoreSlim
- Монитор
- Мьютекс
Никогда не знаешь, когда понадобится использовать блокировку в C#.
Вот как инструкция с примерами: https://www.milanjovanovic.tech/blog/introduction-to-locking-and-concurrency-control-in-dotnet-6
@csharp_ci
Post #534
4.16K
