У вас есть метод в .NET, который синхронно выполняет долгую I/O-операцию (например, обращение к HTTP API). При большом количестве одновременных вызовов приложение начинает “подвисать”. Какой из подходов будет наиболее правильным?
👾 — Обернуть вызов в Task.Run, чтобы выполнять его в пуле потоков
👍 — Переписать метод на async/await и использовать асинхронный HTTP-клиент (HttpClient.SendAsync)
🥰 — Увеличить количество потоков в ThreadPool, чтобы больше операций выполнялось параллельно.
⚡️ — Добавить lock вокруг вызова, чтобы избежать гонок
Библиотека задач по C#
Post #963
1.55K
- 👍 35
- 🥰 2