Книга: C# 4.0: полное руководство
Применение класса TaskFactory для запуска задачи
Применение класса TaskFactory для запуска задачи
Приведенные выше примеры программы были составлены не так эффективно, как следовало бы, поскольку задачу можно создать и сразу же начать ее исполнение, вызвав метод StartNew()
, определенный в классе TaskFactory
. В классе TaskFactory
предоставляются различные методы, упрощающие создание задач и управление ими. По умолчанию объект класса TaskFactory
может быть получен из свойства Factory
, доступного только для чтения в классе Task
. Используя это свойство, можно вызвать любые методы класса TaskFactory
. Метод StartNew()
существует во множестве форм. Ниже приведена самая простая форма его объявления:
public Task StartNew(Action action)
где action — точка входа в исполняемую задачу. Сначала в методе StartNew()
автоматически создается экземпляр объекта типа Task
для действия, определяемого параметром action, а затем планируется запуск задачи на исполнение. Следовательно, необходимость в вызове метода Start()
теперь отпадает.
Например, следующий вызов метода StartNew()
в рассматривавшихся ранее программах приведет к созданию и запуску задачи tsk
одним действием.
Task tsk = Task.Factory.StartNew(MyTask);
После этого оператора сразу же начнет выполняться метод MyTask()
.
Метод StartNew()
оказывается более эффективным в тех случаях, когда задача создается и сразу же запускается на исполнение. Поэтому именно такой подход и применяется в последующих примерах программ.
- Два подхода к параллельному программированию
- Класс Task
- Применение методов ожидания
- Применение класса TaskFactory для запуска задачи
- Применение лямбда-выражения в качестве задачи
- Создание продолжения задачи
- Возврат значения из задачи
- Отмена задачи и обработка исключения AggregateException
- Другие средства организации задач
- Класс Parallel
- Исследование возможностей PLINQ
- 3.4. Отношения между классами
- 1.1. Информатика. Предмет информатики. Основные задачи информатики
- Повторяющиеся задачи
- Постановка задачи
- 1.1.1. Смысл, цель и задачи бизнес-тренинга
- Глава 3 Нормативные руководящие документы, назначение и задачи информационной безопасности России
- 1.3. Задачи рекламного текста
- Способы «запуска» слухов
- Маркетинговые цели и задачи
- Как отобразить типичные задачи для папки?
- Я случайно удалил ярлык Свернуть все окна с панели быстрого запуска. Как вернуть его обратно?
- На Панели быстрого запуска возле кнопки меню Пуск вмещается всего три значка. Как увеличить ее емкость?