Run windows task as system

Содержание
  1. Task. Run Метод
  2. Определение
  3. Перегрузки
  4. Комментарии
  5. Run(Action)
  6. Параметры
  7. Возвращаемое значение
  8. Исключения
  9. Примеры
  10. Комментарии
  11. Применяется к
  12. Run(Func )
  13. Параметры
  14. Возвращаемое значение
  15. Исключения
  16. Комментарии
  17. Применяется к
  18. Run(Action, CancellationToken)
  19. Параметры
  20. Возвращаемое значение
  21. Исключения
  22. Примеры
  23. Комментарии
  24. Применяется к
  25. Run(Func , CancellationToken)
  26. Параметры
  27. Возвращаемое значение
  28. Исключения
  29. Комментарии
  30. Применяется к
  31. Run (Func , CancellationToken) Ставит в очередь заданную работу для запуска в пуле потоков и возвращает объект Task(TResult) , представляющий эту работу. Queues the specified work to run on the thread pool and returns a Task(TResult) object that represents that work. Параметры типа Тип результата задачи. The result type of the task. Параметры Работа для асинхронного выполнения The work to execute asynchronously Токен отмены, который может использоваться для отмены задачи, если она не была начата. A cancellation token that can be used to cancel the work if it has not yet started. Run (Func , CancellationToken) не передает cancellationToken параметру action . Run (Func , CancellationToken) does not pass cancellationToken to action . Возвращаемое значение Задача Task(TResult) , которая представляет работу в очереди на выполнение в пуле потоков. A Task(TResult) that represents the work queued to execute in the thread pool. Исключения Параметр function имеет значение null . The function parameter is null . Задача была отменена. The task has been canceled. Объект CancellationTokenSource, связанный с cancellationToken , был удален. The CancellationTokenSource associated with cancellationToken was disposed. Примеры В следующем примере создается 20 задач, которые будут циклически выполняться до тех пор, пока значение счетчика не увеличится до значения 2 000 000. The following example creates 20 tasks that will loop until a counter is incremented to a value of 2 million. Когда первые 10 задач достигли 2 000 000, маркер отмены отменяется, и все задачи, счетчики которых не достигли 2 000 000, отменяются. When the first 10 tasks reach 2 million, the cancellation token is cancelled, and any tasks whose counters have not reached 2 million are cancelled. В примере показаны возможные выходные данные. The example shows possible output. Вместо использования InnerExceptions свойства для проверки исключений в этом примере просматриваются все задачи, чтобы определить, какие из них успешно завершены и что были отменены. Instead of using the InnerExceptions property to examine exceptions, the example iterates all tasks to determine which have completed successfully and which have been cancelled. Для тех, которые завершились, отображается значение, возвращаемое задачей. For those that have completed, it displays the value returned by the task. Поскольку отмена осуществляется совместно, каждая задача может решить, как реагировать на отмену. Because cancellation is cooperative, each task can decide how to respond to cancellation. Следующий пример похож на первый, за исключением того, что после отмены маркера задачи возвращают количество завершенных итераций, а не вызывают исключение. The following example is like the first, except that, once the token is cancelled, tasks return the number of iterations they’ve completed rather than throw an exception. Этот пример все еще должен обрабатывать AggregateException исключение, так как все задачи, которые не были запущены при запросе отмены, по-прежнему вызывают исключение. The example still must handle the AggregateException exception, since any tasks that have not started when cancellation is requested still throw an exception. Комментарии Если отмена запрашивается до начала выполнения задачи, задача не выполняется. If cancellation is requested before the task begins execution, the task does not execute. Вместо этого ему присваивается Canceled состояние и создается TaskCanceledException исключение. Instead it is set to the Canceled state and throws a TaskCanceledException exception. RunМетод является более простой альтернативой StartNew методу. The Run method is a simpler alternative to the StartNew method. Она создает задачу со следующими значениями по умолчанию: It creates a task with the following default values: Он использует планировщик задач по умолчанию. It uses the default task scheduler. Дополнительные сведения об обработке исключений, создаваемых операциями задач, см. в разделе обработка исключений. For information on handling exceptions thrown by task operations, see Exception Handling.
  32. Параметры типа
  33. Параметры
  34. Возвращаемое значение
  35. Исключения
  36. Примеры
  37. Комментарии

Task. Run Метод

Определение

Перегрузки

Ставит в очередь заданную работу для запуска в пуле потоков и возвращает объект Task, представляющий эту работу. Queues the specified work to run on the thread pool and returns a Task object that represents that work.

Ставит в очередь указанную работу для запуска в пуле потоков и возвращает прокси для задачи, возвращаемой функцией function . Queues the specified work to run on the thread pool and returns a proxy for the task returned by function .

Ставит в очередь заданную работу для запуска в пуле потоков и возвращает объект Task, представляющий эту работу. Queues the specified work to run on the thread pool and returns a Task object that represents that work. Токен отмены позволяет отменить задачу, если она не была начата. A cancellation token allows the work to be cancelled if it has not yet started.

Читайте также:  Oneclickstarter windows 10 как убрать

Ставит в очередь указанную работу для запуска в пуле потоков и возвращает прокси для задачи, возвращаемой функцией function . Queues the specified work to run on the thread pool and returns a proxy for the task returned by function . Токен отмены позволяет отменить задачу, если она не была начата. A cancellation token allows the work to be cancelled if it has not yet started.

Ставит в очередь заданную работу для запуска в пуле потоков и возвращает объект Task(TResult) , представляющий эту работу. Queues the specified work to run on the thread pool and returns a Task(TResult) object that represents that work.

Ставит в очередь заданную работу для запуска в пуле потоков и возвращает прокси для задачи Task(TResult) , возвращаемой function . Queues the specified work to run on the thread pool and returns a proxy for the Task(TResult) returned by function .

Ставит в очередь заданную работу для запуска в пуле потоков и возвращает прокси для задачи Task(TResult) , возвращаемой function . Queues the specified work to run on the thread pool and returns a proxy for the Task(TResult) returned by function . Токен отмены позволяет отменить задачу, если она не была начата. A cancellation token allows the work to be cancelled if it has not yet started.

Комментарии

RunМетод предоставляет набор перегрузок, которые упрощают запуск задачи с использованием значений по умолчанию. The Run method provides a set of overloads that make it easy to start a task by using default values. Это упрощенная альтернатива StartNew перегрузкам. It is a lightweight alternative to the StartNew overloads.

Run(Action)

Ставит в очередь заданную работу для запуска в пуле потоков и возвращает объект Task, представляющий эту работу. Queues the specified work to run on the thread pool and returns a Task object that represents that work.

Параметры

Работа для асинхронного выполнения The work to execute asynchronously

Возвращаемое значение

Задача, которая представляет работу в очереди на выполнение в ThreadPool. A task that represents the work queued to execute in the ThreadPool.

Исключения

Параметр action имел значение null . The action parameter was null .

Примеры

В следующем примере определяется ShowThreadInfo метод, который отображает Thread.ManagedThreadId текущий поток. The following example defines a ShowThreadInfo method that displays the Thread.ManagedThreadId of the current thread. Он вызывается непосредственно из потока приложения и вызывается из Action делегата, переданного в Run(Action) метод. It is called directly from the application thread, and is called from the Action delegate passed to the Run(Action) method.

Следующий пример аналогичен предыдущему, за исключением того, что он использует лямбда-выражение для определения кода, выполняемого задачей. The following example is similar to the previous one, except that it uses a lambda expression to define the code that the task is to execute.

В примерах показано, что асинхронная задача выполняется в потоке, отличном от потока основного приложения. The examples show that the asynchronous task executes on a different thread than the main application thread.

Вызов Wait метода гарантирует, что задача завершится и отобразит выходные данные до завершения работы приложения. The call to the Wait method ensures that the task completes and displays its output before the application ends. В противном случае Main метод будет завершен до завершения задачи. Otherwise, it is possible that the Main method will complete before the task finishes.

В следующем примере показан Run(Action) метод. The following example illustrates the Run(Action) method. Он определяет массив имен каталогов и запускает отдельную задачу для получения имен файлов в каждом каталоге. It defines an array of directory names and starts a separate task to retrieve the file names in each directory. Все задачи записывают имена файлов в один ConcurrentBag объект. All tasks write the file names to a single ConcurrentBag object. Затем в примере вызывается WaitAll(Task[]) метод, чтобы убедиться, что все задачи завершены, а затем отображается общее число имен файлов, записанных в ConcurrentBag объект. The example then calls the WaitAll(Task[]) method to ensure that all tasks have completed, and then displays a count of the total number of file names written to the ConcurrentBag object.

Комментарии

RunМетод позволяет создавать и выполнять задачи в одном вызове метода, а также является более простой альтернативой StartNew методу. The Run method allows you to create and execute a task in a single method call and is a simpler alternative to the StartNew method. Она создает задачу со следующими значениями по умолчанию: It creates a task with the following default values:

Читайте также:  Как создать образ windows server 2012

Его токен отмены — CancellationToken.None . Its cancellation token is CancellationToken.None.

Он использует планировщик задач по умолчанию. It uses the default task scheduler.

Дополнительные сведения об обработке исключений, создаваемых операциями задач, см. в разделе обработка исключений. For information on handling exceptions thrown by task operations, see Exception Handling.

Применяется к

Run(Func )

Ставит в очередь указанную работу для запуска в пуле потоков и возвращает прокси для задачи, возвращаемой функцией function . Queues the specified work to run on the thread pool and returns a proxy for the task returned by function .

Параметры

Работа для асинхронного выполнения The work to execute asynchronously

Возвращаемое значение

Задача, которая представляет прокси для задачи, возвращаемой function . A task that represents a proxy for the task returned by function .

Исключения

Параметр function имел значение null . The function parameter was null .

Комментарии

Дополнительные сведения об обработке исключений, создаваемых операциями задач, см. в разделе обработка исключений. For information on handling exceptions thrown by task operations, see Exception Handling.

Применяется к

Run(Action, CancellationToken)

Ставит в очередь заданную работу для запуска в пуле потоков и возвращает объект Task, представляющий эту работу. Queues the specified work to run on the thread pool and returns a Task object that represents that work. Токен отмены позволяет отменить задачу, если она не была начата. A cancellation token allows the work to be cancelled if it has not yet started.

Параметры

Работа для асинхронного выполнения The work to execute asynchronously

Токен отмены, который может использоваться для отмены задачи, если она не была начата. A cancellation token that can be used to cancel the work if it has not yet started. Run(Action, CancellationToken) не передает cancellationToken параметру action . Run(Action, CancellationToken) does not pass cancellationToken to action .

Возвращаемое значение

Задача, которая представляет работу в очереди на выполнение в пуле потоков. A task that represents the work queued to execute in the thread pool.

Исключения

Параметр action имел значение null . The action parameter was null .

Задача была отменена. The task has been canceled.

Объект CancellationTokenSource, связанный с cancellationToken , был удален. The CancellationTokenSource associated with cancellationToken was disposed.

Примеры

В следующем примере вызывается Run(Action, CancellationToken) метод для создания задачи, которая выполняет итерацию файлов в каталоге C:\Windows\System32. The following example calls the Run(Action, CancellationToken) method to create a task that iterates the files in the C:\Windows\System32 directory. Лямбда-выражение вызывает Parallel.ForEach метод, чтобы добавить сведения о каждом файле в List объект. The lambda expression calls the Parallel.ForEach method to add information about each file to a List object. Каждая отсоединенная вложенная задача, вызываемая Parallel.ForEach циклом, проверяет состояние токена отмены и при запросе отмены вызывает CancellationToken.ThrowIfCancellationRequested метод. Each detached nested task invoked by the Parallel.ForEach loop checks the state of the cancellation token and, if cancellation is requested, calls the CancellationToken.ThrowIfCancellationRequested method. CancellationToken.ThrowIfCancellationRequestedМетод создает OperationCanceledException исключение, которое обрабатывается в catch блоке, когда вызывающий поток вызывает Task.Wait метод. The CancellationToken.ThrowIfCancellationRequested method throws an OperationCanceledException exception that is handled in a catch block when the calling thread calls the Task.Wait method.

Комментарии

Если отмена запрашивается до начала выполнения задачи, задача не выполняется. If cancellation is requested before the task begins execution, the task does not execute. Вместо этого ему присваивается Canceled состояние и создается TaskCanceledException исключение. Instead it is set to the Canceled state and throws a TaskCanceledException exception.

Run(Action, CancellationToken)Метод является более простой альтернативой TaskFactory.StartNew(Action, CancellationToken) методу. The Run(Action, CancellationToken) method is a simpler alternative to the TaskFactory.StartNew(Action, CancellationToken) method. Она создает задачу со следующими значениями по умолчанию: It creates a task with the following default values:

Он использует планировщик задач по умолчанию. It uses the default task scheduler.

Дополнительные сведения об обработке исключений, создаваемых операциями задач, см. в разделе обработка исключений. For information on handling exceptions thrown by task operations, see Exception Handling.

Применяется к

Run(Func , CancellationToken)

Ставит в очередь указанную работу для запуска в пуле потоков и возвращает прокси для задачи, возвращаемой функцией function . Queues the specified work to run on the thread pool and returns a proxy for the task returned by function . Токен отмены позволяет отменить задачу, если она не была начата. A cancellation token allows the work to be cancelled if it has not yet started.

Параметры

Работа для асинхронного выполнения. The work to execute asynchronously.

Читайте также:  Windows system32 audiodg exe

Токен отмены, который может использоваться для отмены задачи, если она не была начата. A cancellation token that can be used to cancel the work if it has not yet started. Run(Func , CancellationToken) не передает cancellationToken параметру action . Run(Func , CancellationToken) does not pass cancellationToken to action .

Возвращаемое значение

Задача, которая представляет прокси для задачи, возвращаемой function . A task that represents a proxy for the task returned by function .

Исключения

Параметр function имел значение null . The function parameter was null .

Задача была отменена. The task has been canceled.

Объект CancellationTokenSource, связанный с cancellationToken , был удален. The CancellationTokenSource associated with cancellationToken was disposed.

Комментарии

Дополнительные сведения об обработке исключений, создаваемых операциями задач, см. в разделе обработка исключений. For information on handling exceptions thrown by task operations, see Exception Handling.

Применяется к

Run (Func , CancellationToken)

Ставит в очередь заданную работу для запуска в пуле потоков и возвращает объект Task(TResult) , представляющий эту работу. Queues the specified work to run on the thread pool and returns a Task(TResult) object that represents that work.

Параметры типа

Тип результата задачи. The result type of the task.

Параметры

Работа для асинхронного выполнения The work to execute asynchronously

Токен отмены, который может использоваться для отмены задачи, если она не была начата. A cancellation token that can be used to cancel the work if it has not yet started. Run (Func , CancellationToken) не передает cancellationToken параметру action . Run (Func , CancellationToken) does not pass cancellationToken to action .

Возвращаемое значение

Задача Task(TResult) , которая представляет работу в очереди на выполнение в пуле потоков. A Task(TResult) that represents the work queued to execute in the thread pool.

Исключения

Параметр function имеет значение null . The function parameter is null .

Задача была отменена. The task has been canceled.

Объект CancellationTokenSource, связанный с cancellationToken , был удален. The CancellationTokenSource associated with cancellationToken was disposed.

Примеры

В следующем примере создается 20 задач, которые будут циклически выполняться до тех пор, пока значение счетчика не увеличится до значения 2 000 000. The following example creates 20 tasks that will loop until a counter is incremented to a value of 2 million. Когда первые 10 задач достигли 2 000 000, маркер отмены отменяется, и все задачи, счетчики которых не достигли 2 000 000, отменяются. When the first 10 tasks reach 2 million, the cancellation token is cancelled, and any tasks whose counters have not reached 2 million are cancelled. В примере показаны возможные выходные данные. The example shows possible output.

Вместо использования InnerExceptions свойства для проверки исключений в этом примере просматриваются все задачи, чтобы определить, какие из них успешно завершены и что были отменены. Instead of using the InnerExceptions property to examine exceptions, the example iterates all tasks to determine which have completed successfully and which have been cancelled. Для тех, которые завершились, отображается значение, возвращаемое задачей. For those that have completed, it displays the value returned by the task.

Поскольку отмена осуществляется совместно, каждая задача может решить, как реагировать на отмену. Because cancellation is cooperative, each task can decide how to respond to cancellation. Следующий пример похож на первый, за исключением того, что после отмены маркера задачи возвращают количество завершенных итераций, а не вызывают исключение. The following example is like the first, except that, once the token is cancelled, tasks return the number of iterations they’ve completed rather than throw an exception.

Этот пример все еще должен обрабатывать AggregateException исключение, так как все задачи, которые не были запущены при запросе отмены, по-прежнему вызывают исключение. The example still must handle the AggregateException exception, since any tasks that have not started when cancellation is requested still throw an exception.

Комментарии

Если отмена запрашивается до начала выполнения задачи, задача не выполняется. If cancellation is requested before the task begins execution, the task does not execute. Вместо этого ему присваивается Canceled состояние и создается TaskCanceledException исключение. Instead it is set to the Canceled state and throws a TaskCanceledException exception.

RunМетод является более простой альтернативой StartNew методу. The Run method is a simpler alternative to the StartNew method. Она создает задачу со следующими значениями по умолчанию: It creates a task with the following default values:

Он использует планировщик задач по умолчанию. It uses the default task scheduler.

Дополнительные сведения об обработке исключений, создаваемых операциями задач, см. в разделе обработка исключений. For information on handling exceptions thrown by task operations, see Exception Handling.

Оцените статью