Изменения документа Потоки и задачи

Редактировал(а) Alexandr Fokin 2025/04/09 12:22

<
От версии < 1.2 >
отредактировано Alexandr Fokin
на 2022/07/29 02:42
К версии < 1.4 >
отредактировано Alexandr Fokin
на 2022/07/29 02:47
>
Изменить комментарий: К данной версии нет комментариев

Комментарий

Подробности

Свойства страницы
Содержимое
... ... @@ -1,13 +1,19 @@
1 1  ==== Thread and Task ====
2 2  
3 +|(% style="width:110px" %) |(% style="width:167px" %) |(% style="width:1230px" %)
3 3  |(% style="width:110px" %)**Thread Pool**|(% style="width:167px" %)Пул потоков|(% style="width:1230px" %)(((
4 4  Одна из задач пула - более оптимальное использование потоков, переиспользование.
5 5  Операция создания потока является относительно дорогой, поэтому с точки зрения производительности более выгодно может быть переиспользовать один и тот же поток, последовательно выполняя несколько Task (задач).
6 6  )))
7 7  |(% style="width:110px" %)**Thread**|(% style="width:167px" %)Поток исполнения|(% style="width:1230px" %)Поток исполнения в приложении.
8 -|(% style="width:110px" %)**Task**|(% style="width:167px" %)Задача|(% style="width:1230px" %)Логическая задача, которая может выполниться в Thread (потоке) из Thread Pool (пула потоков).
9 +|(% style="width:110px" %)**Task**|(% style="width:167px" %)Задача|(% style="width:1230px" %)(((
10 +Логическая задача, которая может выполниться в Thread (потоке) из Thread Pool (пула потоков).
9 9  Для Task (задачи), которые будет выполняться длительное время стоит использовать метку.
10 10  
13 +c# Task API является более предпочтительным перед Thread API.
14 +(При этом есть специфичные настройки, например возможность пометить задачу как долго выполняющуюся, чтобы пул потоков учитывал это в своей работе).
15 +)))
16 +
11 11  ----
12 12  
13 13  **Материалы:**
... ... @@ -19,10 +19,10 @@
19 19  
20 20  ==== Потоки переднего плана и фоновые потоки ====
21 21  
22 -Потоки переднего плана (foreground threads) обеспечивают предохранение текущего приложения от завершения. Среда CLR не остановит приложение (что означает выгрузку текущего домена приложения) до тех пор, пока не будут завершены все потоки переднего плана.
28 +|(% style="width:318px" %) |(% style="width:1203px" %)
29 +|(% style="width:318px" %)Потоки переднего плана (foreground threads)|(% style="width:1203px" %)Приложение не будет остановлено, пока живы потоки переднего плана (Если это не экстренное завершение).
30 +|(% style="width:318px" %)Фоновые потоки (background threads)|(% style="width:1203px" %)Наличие запущенных фоновых потоков не препятствует завершению приложения.
23 23  
24 -Фоновые потоки (background threads) воспринимаются средой CLR как расширяемые пути выполнения, которые в любой момент времени могут игнорироваться (даже если они в текущее время заняты выполнением некоторой части работы). Таким образом, если все потоки переднего плана прекращаются, то все фоновые потоки автоматически уничтожаются при выгрузке домена приложения.
25 -
26 26  Потоки переднего плана и фоновые потоки
27 27  [[https:~~/~~/professorweb.ru/my/csharp/thread_and_files/1/1_6.php>>url:https://professorweb.ru/my/csharp/thread_and_files/1/1_6.php]]
28 28