Изменения документа Сценарии

Редактировал(а) Alexandr Fokin 2024/12/11 13:34

<
От версии < 7.10 >
отредактировано Alexandr Fokin
на 2023/02/09 01:50
К версии < 7.14 >
отредактировано Alexandr Fokin
на 2024/03/10 13:58
>
Изменить комментарий: К данной версии нет комментариев

Комментарий

Подробности

Свойства страницы
Содержимое
... ... @@ -1,6 +1,27 @@
1 1  |(% style="width:399px" %)[[Имитация Async Deadlock>>doc:Разработка.NET.C#.Многопоточность и асинхронность.Сценарии.Имитация асинхронного (Async) Deadlock.WebHome]]|(% style="width:1094px" %)
2 2  |(% style="width:399px" %)[[Параллельность и асинхронность>>doc:.Параллельность и асинхронность.WebHome]]|(% style="width:1094px" %)
3 3  |(% style="width:399px" %)[[Пакетная обработка заявок с асинхронностью (Async)>>doc:.Пакетная обработка заявок с асинхронностью (Async).WebHome]]|(% style="width:1094px" %)
4 +|(% style="width:399px" %)(((
5 +OperationCanceledException
6 +
7 +[[Исключения | Exception >>doc:Разработка.NET.C#.Исключения | Exception .WebHome]]
8 +)))|(% style="width:1094px" %){{code language="c#"}}// Когда идет остановка воркера, и нужно обработать OperationCanceledException без ошибки.
9 +try
10 +{
11 + // action
12 +}
13 +catch(Exception ex)
14 +{
15 + if (
16 + ex is OperationCanceledException oce
17 + && oce.CancellationToken.Equals(cancellationToken)
18 + )
19 + {
20 + //
21 + }
22 +
23 + // log
24 +}{{/code}}
4 4  |(% style="width:399px" %){{code language="C#"}}Task.Yield(){{/code}}|(% style="width:1094px" %)(((
5 5  When would I use Task.Yield()?
6 6  [[https:~~/~~/stackoverflow.com/questions/22645024/when-would-i-use-task-yield>>https://stackoverflow.com/questions/22645024/when-would-i-use-task-yield]]
... ... @@ -10,6 +10,9 @@
10 10  
11 11  Настройка приостановки и возобновления с помощью Yield и ConfigureAwait
12 12  [[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>>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]]
34 +
35 +Task.Yield() in library needs ConfigureWait(false)
36 +[[https:~~/~~/stackoverflow.com/questions/28309185/task-yield-in-library-needs-configurewaitfalse>>https://stackoverflow.com/questions/28309185/task-yield-in-library-needs-configurewaitfalse]]
13 13  )))
14 14  |(% style="width:399px" %)Задать размер стека для потока.|(% style="width:1094px" %)(((
15 15  Можно задать через параметр конструктора потока.
... ... @@ -21,5 +21,3 @@
21 21  Why is stack size in C# exactly 1 MB?
22 22  [[https:~~/~~/stackoverflow.com/questions/28656872/why-is-stack-size-in-c-sharp-exactly-1-mb>>https://stackoverflow.com/questions/28656872/why-is-stack-size-in-c-sharp-exactly-1-mb]]
23 23  )))
24 -
25 -