626.19K
Категория: ПрограммированиеПрограммирование

Потоки. Потоки с использованием делегатов

1.

ЛЕКЦИЯ №11 TASK
Москва, 2019

2.

Потоки

3.

Потоки с использованием делегатов

4.

Потоки с использованием делегатов

5.

Потоки с использованием делегатов

6.

Потоки
Задача предоставляет следующие мощные функции по потоку и пулу
потоков.
1. Задача позволяет вернуть результат.
2. Это дает лучший программный контроль для запуска и ожидания
задачи.
3. Это уменьшает время переключения между несколькими потоками..

7.

Потоки
Он может создать отношения родитель / потомок, когда одна задача запускается
из
другая задача.
6. Задание может отменить его выполнение с помощью токенов отмены.
7. Задача оставляет CLR от накладных расходов на создание дополнительных
потоков; вместо этого
неявно использует поток из пула потоков.
8. Асинхронная реализация проста в использовании, используя «async» и
«await»
ключевые слова.
9. Задача ожидает завершения выполнения всех предоставленных объектов
Задачи.

8.

Потоки
Run () Возвращает задачу, которая ставит в очередь работу для выполнения
на ThreadPool
Start () запускает задачу
Wait () Ожидание завершения указанной задачи
WaitAll () Ожидание завершения всех предоставленных объектов задачи
WaitAny () Ожидание завершения всех предоставленных объектов задачи
ContinueWith () Создайте цепочку задач, которые запускаются одна за
другой
Статус Получить статус текущей задачи
IsCanceled Получить значение bool, чтобы определить, отменена ли задача
IsCompleted Получить значение bool, чтобы определить, завершена ли
задача
IsFaults Получает, если Задача выполнена из-за необработанного
исключения.
Factory Предоставьте фабричный метод для создания и настройки Задачи

9.

Потоки
Task mytask = new Task(actionMethod);
actionMethod - это метод, который имеет тип возврата void и не требует
ввода параметра; другими словами, в параметре task есть делегат
«Действие» конструктор.
• Задача имеет в общей сложности 8 перегруженных конструкторов, но
обычно мы работаем с первым
перегруженный конструктор с делегатом «Action» во входном параметре

10.

Потоки

11.

Потоки
funcMethod - это метод,
который имеет тип возврата
типа TResult и не принимает
входных аргументов; другими
словами, «Func <TResult>»
делегат в параметре
конструктора Task

12.

Потоки

13.

Потоки
Написать программу для линейного поиска числа в одномерном массиве
заданной длины с помощью 4 потоков каждый из которых осуществляет поиск
своей части массива. Количество потоков задается пользователем.

14.

MQTT
IOT (интернет вещей)
English     Русский Правила