TaskFactory 类

定义

提供对创建和计划 Task 对象的支持。Provides support for creating and scheduling Task objects.

public ref class TaskFactory
public class TaskFactory
type TaskFactory = class
Public Class TaskFactory
继承
TaskFactory

示例

下面的示例使用静态 Factory 属性对方法进行两次调用 TaskFactory.StartNewThe following example uses the static Factory property to make two calls to the TaskFactory.StartNew method. 第一种方式是使用用户的 MyDocuments 目录中的文件名称填充数组,而第二次使用用户的 MyDocuments 目录的子目录名称填充数组。The first populates an array with the names of files in the user's MyDocuments directory, while the second populates an array with the names of subdirectories of the user's MyDocuments directory. 然后,它调用 TaskFactory.ContinueWhenAll(Task[], Action<Task[]>) 方法,该方法在前两个任务完成执行后显示两个数组中的文件和目录的数量信息。It then calls the TaskFactory.ContinueWhenAll(Task[], Action<Task[]>) method, which displays information about the number of files and directories in the two arrays after the first two tasks have completed execution.

using System;
using System.IO;
using System.Threading.Tasks;

public class Example
{
   public static void Main()
   {
      Task[] tasks = new Task[2];
      String[] files = null;
      String[] dirs = null;
      String docsDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);

      tasks[0] = Task.Factory.StartNew( () => files = Directory.GetFiles(docsDirectory));
      tasks[1] = Task.Factory.StartNew( () => dirs = Directory.GetDirectories(docsDirectory));

      Task.Factory.ContinueWhenAll(tasks, completedTasks => {
                                             Console.WriteLine("{0} contains: ", docsDirectory);
                                             Console.WriteLine("   {0} subdirectories", dirs.Length);
                                             Console.WriteLine("   {0} files", files.Length);
                                          } );
   }
}
// The example displays output like the following:
//       C:\Users\<username>\Documents contains:
//          24 subdirectories
//          16 files
Imports System.IO
Imports System.Threading.Tasks

Module Example
   Public Sub Main()
      Dim tasks(1) As Task
      Dim files() As String = Nothing
      Dim dirs() As String = Nothing
      Dim docsDirectory As String = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
      
      tasks(0) = Task.Factory.StartNew( Sub()
                                           files = Directory.GetFiles(docsDirectory)
                                        End Sub )
      tasks(1) = Task.Factory.StartNew( Sub()
                                           dirs = Directory.GetDirectories(docsDirectory)
                                        End Sub )
      Task.Factory.ContinueWhenAll(tasks, Sub(completedTasks)
                                             Console.WriteLine("{0} contains: ", docsDirectory)
                                             Console.WriteLine("   {0} subdirectories", dirs.Length)
                                             Console.WriteLine("   {0} files", files.Length)
                                          End Sub)
   End Sub
End Module
' The example displays output like the following:
'       C:\Users\<username>\Documents contains:
'          24 subdirectories
'          16 files

注解

.NET Framework 提供了两个用于创建和计划任务的工厂:The .NET Framework provides two factories for creating and scheduling tasks:

  • TaskFactory类,该类创建 TaskTask<TResult> 对象。The TaskFactory class, which creates Task and Task<TResult> objects. 可以调用此方法的重载来创建和执行需要非默认参数的任务。You can call the overloads of this method to create and execute a task that requires non-default arguments.

    警告

    从开始 .NET Framework 4.5.NET Framework 4.5Task.Run 方法提供了使用默认配置值创建任务并立即启动该任务的最简单方法。Starting with the .NET Framework 4.5.NET Framework 4.5, the Task.Run method provides the easiest way to create a task with default configuration values and start it immediately.

  • TaskFactory<TResult>类,该类用于创建 Task<TResult> 对象。The TaskFactory<TResult> class, which creates Task<TResult> objects.

TaskFactory类允许你执行以下操作:The TaskFactory class allows you to do the following:

  • 创建一个任务,并通过调用方法立即启动该任务 StartNewCreate a task and start it immediately by calling the StartNew method.

    警告

    从开始 .NET Framework 4.5.NET Framework 4.5Task.Run 方法提供了使用默认配置值创建任务并立即启动该任务的最简单方法。Starting with the .NET Framework 4.5.NET Framework 4.5, the Task.Run method provides the easiest way to create a task with default configuration values and start it immediately.

  • 通过调用方法,创建一个任务,该任务在数组中的任一任务完成后启动 ContinueWhenAnyCreate a task that starts when any one of the tasks in an array has completed by calling the ContinueWhenAny method.

  • 通过调用方法,创建一个在数组中的所有任务都完成后启动的任务 ContinueWhenAllCreate a task that starts when all the tasks in an array have completed by calling the ContinueWhenAll method.

静态 Task<TResult>.Factory 属性返回默认 TaskFactory<TResult> 对象。The static Task<TResult>.Factory property returns a default TaskFactory<TResult> object. 还可以调用 TaskFactory 类构造函数之一来配置 Task TaskFactory 类创建的对象。You can also call one of the TaskFactory class constructors to configure the Task objects that the TaskFactory class creates. 下面的示例配置一个新的 TaskFactory 对象,以创建具有指定的取消标记、任务创建选项、延续选项和自定义任务计划程序的任务。The following example configures a new TaskFactory object to create tasks that have a specified cancellation token, task creation options, continuation options, and a customized task scheduler.

using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;

class Example
{
   static CancellationTokenSource cts = new CancellationTokenSource();

   static TaskFactory factory = new TaskFactory(
      cts.Token,
      TaskCreationOptions.PreferFairness,
      TaskContinuationOptions.ExecuteSynchronously,
      new CustomScheduler());

   static void Main()
   {
      var t2 = factory.StartNew(() => DoWork());
      cts.Dispose();
   }

   static void DoWork() {/*...*/ }
}
Imports System.Collections.Generic
Imports System.Threading
Imports System.Threading.Tasks

Module Example
   Public Sub Main()
      Dim cts As New CancellationTokenSource()
      Dim factory As New TaskFactory(cts.Token,
                                     TaskCreationOptions.PreferFairness,
                                     TaskContinuationOptions.ExecuteSynchronously,
                                     New CustomScheduler())

      Dim t2 = factory.StartNew(Sub() DoWork())
      cts.Dispose()
   End Sub

   Sub DoWork()
      ' ...
   End Sub
End Module

在大多数情况下,您不必实例化新的 TaskFactory 实例。In most cases, you do not have to instantiate a new TaskFactory instance. 相反,你可以使用 Task.Factory 属性,该属性返回使用默认值的工厂对象。Instead, you can use the Task.Factory property, which returns a factory object that uses default values. 然后,可以调用其方法来启动新任务或定义任务延续。You can then call its methods to start new tasks or define task continuations. 有关说明,请参阅示例。For an illustration, see the example.

构造函数

TaskFactory()

使用默认配置初始化 TaskFactory 实例。Initializes a TaskFactory instance with the default configuration.

TaskFactory(CancellationToken)

使用指定配置初始化 TaskFactory 实例。Initializes a TaskFactory instance with the specified configuration.

TaskFactory(CancellationToken, TaskCreationOptions, TaskContinuationOptions, TaskScheduler)

使用指定配置初始化 TaskFactory 实例。Initializes a TaskFactory instance with the specified configuration.

TaskFactory(TaskCreationOptions, TaskContinuationOptions)

使用指定配置初始化 TaskFactory 实例。Initializes a TaskFactory instance with the specified configuration.

TaskFactory(TaskScheduler)

使用指定配置初始化 TaskFactory 实例。Initializes a TaskFactory instance with the specified configuration.

属性

CancellationToken

获取此任务工厂的默认取消标记。Gets the default cancellation token for this task factory.

ContinuationOptions

获取此任务工厂的默认任务继续选项。Gets the default task continuation options for this task factory.

CreationOptions

获取此任务工厂的默认任务创建选项。Gets the default task creation options for this task factory.

Scheduler

获取此任务工厂的默认任务计划程序。Gets the default task scheduler for this task factory.

方法

ContinueWhenAll(Task[], Action<Task[]>)

创建一个延续任务,该任务在一组指定的任务完成后开始。Creates a continuation task that starts when a set of specified tasks has completed.

ContinueWhenAll(Task[], Action<Task[]>, CancellationToken)

创建一个延续任务,该任务在一组指定的任务完成后开始。Creates a continuation task that starts when a set of specified tasks has completed.

ContinueWhenAll(Task[], Action<Task[]>, CancellationToken, TaskContinuationOptions, TaskScheduler)

创建一个延续任务,该任务在一组指定的任务完成后开始。Creates a continuation task that starts when a set of specified tasks has completed.

ContinueWhenAll(Task[], Action<Task[]>, TaskContinuationOptions)

创建一个延续任务,该任务在一组指定的任务完成后开始。Creates a continuation task that starts when a set of specified tasks has completed.

ContinueWhenAll<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>[],TResult>)

创建一个延续任务,该任务在一组指定的任务完成后开始。Creates a continuation task that starts when a set of specified tasks has completed.

ContinueWhenAll<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>[],TResult>, CancellationToken)

创建一个延续任务,该任务在一组指定的任务完成后开始。Creates a continuation task that starts when a set of specified tasks has completed.

ContinueWhenAll<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>[],TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler)

创建一个延续任务,该任务在一组指定的任务完成后开始。Creates a continuation task that starts when a set of specified tasks has completed.

ContinueWhenAll<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>[],TResult>, TaskContinuationOptions)

创建一个延续任务,该任务在一组指定的任务完成后开始。Creates a continuation task that starts when a set of specified tasks has completed.

ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>[]>)

创建一个延续任务,该任务在一组指定的任务完成后开始。Creates a continuation task that starts when a set of specified tasks has completed.

ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>[]>, CancellationToken)

创建一个延续任务,该任务在一组指定的任务完成后开始。Creates a continuation task that starts when a set of specified tasks has completed.

ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>[]>, CancellationToken, TaskContinuationOptions, TaskScheduler)

创建一个延续任务,该任务在一组指定的任务完成后开始。Creates a continuation task that starts when a set of specified tasks has completed.

ContinueWhenAll<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>[]>, TaskContinuationOptions)

创建一个延续任务,该任务在一组指定的任务完成后开始。Creates a continuation task that starts when a set of specified tasks has completed.

ContinueWhenAll<TResult>(Task[], Func<Task[],TResult>)

创建一个延续任务,该任务在一组指定的任务完成后开始。Creates a continuation task that starts when a set of specified tasks has completed.

ContinueWhenAll<TResult>(Task[], Func<Task[],TResult>, CancellationToken)

创建一个延续任务,该任务在一组指定的任务完成后开始。Creates a continuation task that starts when a set of specified tasks has completed.

ContinueWhenAll<TResult>(Task[], Func<Task[],TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler)

创建一个延续任务,该任务在一组指定的任务完成后开始。Creates a continuation task that starts when a set of specified tasks has completed.

ContinueWhenAll<TResult>(Task[], Func<Task[],TResult>, TaskContinuationOptions)

创建一个延续任务,该任务在一组指定的任务完成后开始。Creates a continuation task that starts when a set of specified tasks has completed.

ContinueWhenAny(Task[], Action<Task>)

创建一个延续 Task,它将在提供的组中的任何任务完成后马上开始。Creates a continuation Task that will be started upon the completion of any Task in the provided set.

ContinueWhenAny(Task[], Action<Task>, CancellationToken)

创建一个延续 Task,它将在提供的组中的任何任务完成后马上开始。Creates a continuation Task that will be started upon the completion of any Task in the provided set.

ContinueWhenAny(Task[], Action<Task>, CancellationToken, TaskContinuationOptions, TaskScheduler)

创建一个延续 Task,它将在提供的组中的任何任务完成后马上开始。Creates a continuation Task that will be started upon the completion of any Task in the provided set.

ContinueWhenAny(Task[], Action<Task>, TaskContinuationOptions)

创建一个延续 Task,它将在提供的组中的任何任务完成后马上开始。Creates a continuation Task that will be started upon the completion of any Task in the provided set.

ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>)

创建一个延续 Task<TResult>,它将在提供的组中的任何任务完成后马上开始。Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, CancellationToken)

创建一个延续 Task<TResult>,它将在提供的组中的任何任务完成后马上开始。Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler)

创建一个延续 Task<TResult>,它将在提供的组中的任何任务完成后马上开始。Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

ContinueWhenAny<TAntecedentResult,TResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, TaskContinuationOptions)

创建一个延续 Task<TResult>,它将在提供的组中的任何任务完成后马上开始。Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>)

创建一个延续 Task,它将在提供的组中的任何任务完成后马上开始。Creates a continuation Task that will be started upon the completion of any Task in the provided set.

ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, CancellationToken)

创建一个延续 Task,它将在提供的组中的任何任务完成后马上开始。Creates a continuation Task that will be started upon the completion of any Task in the provided set.

ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, CancellationToken, TaskContinuationOptions, TaskScheduler)

创建一个延续 Task,它将在提供的组中的任何任务完成后马上开始。Creates a continuation Task that will be started upon the completion of any Task in the provided set.

ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Action<Task<TAntecedentResult>>, TaskContinuationOptions)

创建一个延续 Task,它将在提供的组中的任何任务完成后马上开始。Creates a continuation Task that will be started upon the completion of any Task in the provided set.

ContinueWhenAny<TResult>(Task[], Func<Task,TResult>)

创建一个延续 Task<TResult>,它将在提供的组中的任何任务完成后马上开始。Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, CancellationToken)

创建一个延续 Task<TResult>,它将在提供的组中的任何任务完成后马上开始。Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler)

创建一个延续 Task<TResult>,它将在提供的组中的任何任务完成后马上开始。Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

ContinueWhenAny<TResult>(Task[], Func<Task,TResult>, TaskContinuationOptions)

创建一个延续 Task<TResult>,它将在提供的组中的任何任务完成后马上开始。Creates a continuation Task<TResult> that will be started upon the completion of any Task in the provided set.

Equals(Object)

确定指定对象是否等于当前对象。Determines whether the specified object is equal to the current object.

(继承自 Object)
FromAsync(Func<AsyncCallback,Object,IAsyncResult>, Action<IAsyncResult>, Object)

创建一个 Task,它表示符合异步编程模型模式的成对的开始和结束方法。Creates a Task that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern.

FromAsync(Func<AsyncCallback,Object,IAsyncResult>, Action<IAsyncResult>, Object, TaskCreationOptions)

创建一个 Task,表示符合异步编程模型模式的成对的开始和结束方法。Creates a Task that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern.

FromAsync(IAsyncResult, Action<IAsyncResult>)

创建一个 Task,它在指定的 IAsyncResult 完成时执行一个结束方法操作。Creates a Task that executes an end method action when a specified IAsyncResult completes.

FromAsync(IAsyncResult, Action<IAsyncResult>, TaskCreationOptions)

创建一个 Task,它在指定的 IAsyncResult 完成时执行一个结束方法操作。Creates a Task that executes an end method action when a specified IAsyncResult completes.

FromAsync(IAsyncResult, Action<IAsyncResult>, TaskCreationOptions, TaskScheduler)

创建一个 Task,它在指定的 IAsyncResult 完成时执行一个结束方法操作。Creates a Task that executes an end method action when a specified IAsyncResult completes.

FromAsync<TArg1,TArg2,TArg3,TResult>(Func<TArg1,TArg2,TArg3,AsyncCallback,Object,IAsyncResult>, Func<IAsyncResult,TResult>, TArg1, TArg2, TArg3, Object)

创建一个 Task<TResult>,它表示符合异步编程模型模式的成对的开始和结束方法。Creates a Task<TResult> that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern.

FromAsync<TArg1,TArg2,TArg3,TResult>(Func<TArg1,TArg2,TArg3,AsyncCallback,Object,IAsyncResult>, Func<IAsyncResult,TResult>, TArg1, TArg2, TArg3, Object, TaskCreationOptions)

创建一个 Task<TResult>,表示符合异步编程模型模式的成对的开始和结束方法。Creates a Task<TResult> that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern.

FromAsync<TArg1,TArg2,TArg3>(Func<TArg1,TArg2,TArg3,AsyncCallback,Object,IAsyncResult>, Action<IAsyncResult>, TArg1, TArg2, TArg3, Object)

创建一个 Task,它表示符合异步编程模型模式的成对的开始和结束方法。Creates a Task that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern.

FromAsync<TArg1,TArg2,TArg3>(Func<TArg1,TArg2,TArg3,AsyncCallback,Object,IAsyncResult>, Action<IAsyncResult>, TArg1, TArg2, TArg3, Object, TaskCreationOptions)

创建一个 Task,表示符合异步编程模型模式的成对的开始和结束方法。Creates a Task that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern.

FromAsync<TArg1,TArg2,TResult>(Func<TArg1,TArg2,AsyncCallback,Object,IAsyncResult>, Func<IAsyncResult,TResult>, TArg1, TArg2, Object)

创建一个 Task<TResult>,它表示符合异步编程模型模式的成对的开始和结束方法。Creates a Task<TResult> that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern.

FromAsync<TArg1,TArg2,TResult>(Func<TArg1,TArg2,AsyncCallback,Object,IAsyncResult>, Func<IAsyncResult,TResult>, TArg1, TArg2, Object, TaskCreationOptions)

创建一个 Task<TResult>,表示符合异步编程模型模式的成对的开始和结束方法。Creates a Task<TResult> that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern.

FromAsync<TArg1,TArg2>(Func<TArg1,TArg2,AsyncCallback,Object,IAsyncResult>, Action<IAsyncResult>, TArg1, TArg2, Object)

创建一个 Task,它表示符合异步编程模型模式的成对的开始和结束方法。Creates a Task that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern.

FromAsync<TArg1,TArg2>(Func<TArg1,TArg2,AsyncCallback,Object,IAsyncResult>, Action<IAsyncResult>, TArg1, TArg2, Object, TaskCreationOptions)

创建一个 Task,表示符合异步编程模型模式的成对的开始和结束方法。Creates a Task that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern.

FromAsync<TArg1,TResult>(Func<TArg1,AsyncCallback,Object,IAsyncResult>, Func<IAsyncResult,TResult>, TArg1, Object)

创建一个 Task<TResult>,它表示符合异步编程模型模式的成对的开始和结束方法。Creates a Task<TResult> that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern.

FromAsync<TArg1,TResult>(Func<TArg1,AsyncCallback,Object,IAsyncResult>, Func<IAsyncResult,TResult>, TArg1, Object, TaskCreationOptions)

创建一个 Task<TResult>,表示符合异步编程模型模式的成对的开始和结束方法。Creates a Task<TResult> that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern.

FromAsync<TArg1>(Func<TArg1,AsyncCallback,Object,IAsyncResult>, Action<IAsyncResult>, TArg1, Object)

创建一个 Task,它表示符合异步编程模型模式的成对的开始和结束方法。Creates a Task that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern.

FromAsync<TArg1>(Func<TArg1,AsyncCallback,Object,IAsyncResult>, Action<IAsyncResult>, TArg1, Object, TaskCreationOptions)

创建一个 Task,表示符合异步编程模型模式的成对的开始和结束方法。Creates a Task that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern.

FromAsync<TResult>(Func<AsyncCallback,Object,IAsyncResult>, Func<IAsyncResult,TResult>, Object)

创建一个 Task<TResult>,它表示符合异步编程模型模式的成对的开始和结束方法。Creates a Task<TResult> that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern.

FromAsync<TResult>(Func<AsyncCallback,Object,IAsyncResult>, Func<IAsyncResult,TResult>, Object, TaskCreationOptions)

创建一个 Task<TResult>,表示符合异步编程模型模式的成对的开始和结束方法。Creates a Task<TResult> that represents a pair of begin and end methods that conform to the Asynchronous Programming Model pattern.

FromAsync<TResult>(IAsyncResult, Func<IAsyncResult,TResult>)

创建一个 Task<TResult>,它在指定的 IAsyncResult 完成时执行一个结束方法函数。Creates a Task<TResult> that executes an end method function when a specified IAsyncResult completes.

FromAsync<TResult>(IAsyncResult, Func<IAsyncResult,TResult>, TaskCreationOptions)

创建一个 Task<TResult>,它在指定的 IAsyncResult 完成时执行一个结束方法函数。Creates a Task<TResult> that executes an end method function when a specified IAsyncResult completes.

FromAsync<TResult>(IAsyncResult, Func<IAsyncResult,TResult>, TaskCreationOptions, TaskScheduler)

创建一个 Task<TResult>,它在指定的 IAsyncResult 完成时执行一个结束方法函数。Creates a Task<TResult> that executes an end method function when a specified IAsyncResult completes.

GetHashCode()

作为默认哈希函数。Serves as the default hash function.

(继承自 Object)
GetType()

获取当前实例的 TypeGets the Type of the current instance.

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。Creates a shallow copy of the current Object.

(继承自 Object)
StartNew(Action)

为指定的操作委托创建并启动任务。Creates and starts a task for the specified action delegate.

StartNew(Action, CancellationToken)

为指定的动作委派和取消标记创建并启动任务。Creates and starts a task for the specified action delegate and cancellation token.

StartNew(Action, CancellationToken, TaskCreationOptions, TaskScheduler)

为指定的操作委托、取消令牌、创建选项和状态创建并启动任务。Creates and starts a task for the specified action delegate, cancellation token, creation options and state.

StartNew(Action, TaskCreationOptions)

为指定的操作委托和创建选项创建并启动任务。Creates and starts a task for the specified action delegate and creation options.

StartNew(Action<Object>, Object)

为指定的操作委托和状态创建并启动任务。Creates and starts a task for the specified action delegate and state.

StartNew(Action<Object>, Object, CancellationToken)

为指定的动作委托、状态和取消标记创建并启动任务。Creates and starts a task for the specified action delegate, state and cancellation token.

StartNew(Action<Object>, Object, CancellationToken, TaskCreationOptions, TaskScheduler)

为指定的操作委托、状态、取消令牌、创建选项和任务计划程序创建并启动任务。Creates and starts a task for the specified action delegate, state, cancellation token, creation options and task scheduler.

StartNew(Action<Object>, Object, TaskCreationOptions)

为指定的操作委托、状态和创建选项创建并启动任务。Creates and starts a task for the specified action delegate, state and creation options.

StartNew<TResult>(Func<Object,TResult>, Object)

为指定的函数委托和状态创建并启动 TResult 类型的任务。Creates and starts a task of type TResult for the specified function delegate and state.

StartNew<TResult>(Func<Object,TResult>, Object, CancellationToken)

为指定的函数委托、状态和取消标记创建并启动 TResult 类型的任务。Creates and starts a task of type TResult for the specified function delegate, state and cancellation token.

StartNew<TResult>(Func<Object,TResult>, Object, CancellationToken, TaskCreationOptions, TaskScheduler)

为指定的函数委托、状态、取消标记、创建选项和任务计划程序创建并启动 TResult 类型的任务。Creates and starts a task of type TResult for the specified function delegate, state, cancellation token, creation options and task scheduler.

StartNew<TResult>(Func<Object,TResult>, Object, TaskCreationOptions)

为指定的函数委托、状态和创建选项创建并启动 TResult 类型的任务。Creates and starts a task of type TResult for the specified function delegate, state and creation options.

StartNew<TResult>(Func<TResult>)

为指定的函数委托创建并启动 TResult 类型的任务。Creates and starts a task of type TResult for the specified function delegate.

StartNew<TResult>(Func<TResult>, CancellationToken)

为指定的函数委托和取消标记创建并启动 TResult 类型的任务。Creates and starts a task of type TResult for the specified function delegate and cancellation token.

StartNew<TResult>(Func<TResult>, CancellationToken, TaskCreationOptions, TaskScheduler)

为指定的函数委托、取消标记、创建选项和任务计划程序创建并启动 TResult 类型的任务。Creates and starts a task of type TResult for the specified function delegate, cancellation token, creation options and task scheduler.

StartNew<TResult>(Func<TResult>, TaskCreationOptions)

为指定的函数委托和创建选项创建并启动 TResult 类型的任务。Creates and starts a task of type TResult for the specified function delegate and creation options.

ToString()

返回表示当前对象的字符串。Returns a string that represents the current object.

(继承自 Object)

适用于

线程安全性

的所有公共和受保护的成员 TaskFactory 都是线程安全的,可从多个线程并发使用。All public and protected members of TaskFactory are thread-safe and may be used concurrently from multiple threads.

另请参阅