Многопоточность и асинхронность - Сценарии 

Page / - Изменено Alexandr Fokin в 2023/01/11 16:43 

Сценарии 
Изменено Alexandr Fokin
в 2023/01/11 16:43

Оглавление

Имитация Async Deadlock	 	
Параллельность и асинхронность	 	
Пакетная обработка заявок с асинхронностью (Async)	 	
CancellationTokenSource CreateLinkedTokenSource	When to dispose CancellationTokenSource?
https://stackoverflow.com/questions/6960520/when-to-dispose-cancellationtokensource
using var cancellationTokenSource = CancellationTokenSource.CreateLinkedTokenSource(extraToken)	
Task.Yield()	When would I use Task.Yield()?
https://stackoverflow.com/questions/22645024/when-would-i-use-task-yield
Async, recursion, and some weirdness in design of asynchronous API in C#
https://alexyakunin.medium.com/async-recursion-and-some-weirdness-of-design-of-asynchronous-api-in-c-vs-f-a5760a00a26a
Настройка приостановки и возобновления с помощью Yield и ConfigureAwait
https://learn.microsoft.com/ru-ru/dotnet/standard/asynchronous-programming-patterns/consuming-the-task-based-asynchronous-pattern#configuring-suspension-and-resumption-with-yield-and-configureawait
Task.Yield() in library needs ConfigureWait(false)
https://stackoverflow.com/questions/28309185/task-yield-in-library-needs-configurewaitfalse	
Задать размер стека для потока.	Можно задать через параметр конструктора потока.
Можно использовать для удобного тестирования логики (например рекурсии), которая может вызвать переполнение.
RuntimeHelpers.TryEnsureSufficientExecutionStack Метод
https://learn.microsoft.com/ru-ru/dotnet/api/system.runtime.compilerservices.runtimehelpers.tryensuresufficientexecutionstack?view=netcore-3.0
Why is stack size in C# exactly 1 MB?
https://stackoverflow.com/questions/28656872/why-is-stack-size-in-c-sharp-exactly-1-mb