Сценарии
Имитация Async Deadlock | |
Параллельность и асинхронность | |
Пакетная обработка заявок с асинхронностью (Async) | |
OperationCanceledException | // Когда идет остановка воркера, и нужно обработать OperationCanceledException без ошибки. try { // action } catch(Exception ex) { if ( ex is OperationCanceledException oce && oce.CancellationToken.Equals(cancellationToken) ) { // } // log } |
CancellationTokenSource CreateLinkedTokenSource | When to dispose CancellationTokenSource? using var cancellationTokenSource = CancellationTokenSource.CreateLinkedTokenSource(extraToken) |
Task.Yield() | When would I use Task.Yield()? Async, recursion, and some weirdness in design of asynchronous API in C# Настройка приостановки и возобновления с помощью Yield и ConfigureAwait Task.Yield() in library needs ConfigureWait(false) |
Задать размер стека для потока. | Можно задать через параметр конструктора потока. RuntimeHelpers.TryEnsureSufficientExecutionStack Метод Why is stack size in C# exactly 1 MB? |