Freigeben über


TaskFactory Klasse

Definition

Bietet Unterstützung für das Erstellen und Planen von Task Objekten.

public ref class TaskFactory
public class TaskFactory
type TaskFactory = class
Public Class TaskFactory
Vererbung
TaskFactory

Beispiele

Im folgenden Beispiel wird die statische Factory-Eigenschaft verwendet, um zwei Aufrufe an die TaskFactory.StartNew-Methode auszuführen. Das erste füllt ein Array mit den Namen der Dateien im MyDocuments-Verzeichnis des Benutzers auf, während der zweite ein Array mit den Namen der Unterverzeichnisse des MyDocuments-Verzeichnisses des Benutzers auffüllt. Anschließend wird die TaskFactory.ContinueWhenAll(Task[], Action<Task[]>)-Methode aufgerufen, die Informationen über die Anzahl der Dateien und Verzeichnisse in den beiden Arrays anzeigt, nachdem die ersten beiden Aufgaben die Ausführung abgeschlossen haben.

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

Hinweise

.NET bietet zwei Fabriken zum Erstellen und Planen von Vorgängen:

  • Die TaskFactory Klasse, die Task- und Task<TResult>-Objekte erstellt. Sie können die Überladungen dieser Methode aufrufen, um eine Aufgabe zu erstellen und auszuführen, die keine Standardargumente erfordert.

    Warnung

    Ab .NET Framework 4.5 bietet die Task.Run Methode die einfachste Möglichkeit, eine Aufgabe mit Standardkonfigurationswerten zu erstellen und sofort zu starten.

  • Die TaskFactory<TResult> Klasse, die Task<TResult> Objekte erstellt.

Die TaskFactory Klasse ermöglicht Folgendes:

  • Erstellen Sie eine Aufgabe, und starten Sie sie sofort, indem Sie die StartNew-Methode aufrufen.

    Warnung

    Ab .NET Framework 4.5 bietet die Task.Run Methode die einfachste Möglichkeit, eine Aufgabe mit Standardkonfigurationswerten zu erstellen und sofort zu starten.

  • Erstellen Sie eine Aufgabe, die beginnt, wenn eine der Aufgaben in einem Array abgeschlossen wurde, indem Sie die ContinueWhenAny-Methode aufrufen.

  • Erstellen Sie eine Aufgabe, die beginnt, wenn alle Aufgaben in einem Array abgeschlossen wurden, indem Sie die ContinueWhenAll-Methode aufrufen.

Die statische Task<TResult>.Factory-Eigenschaft gibt ein Standardobjekt TaskFactory<TResult> zurück. Sie können auch einen der TaskFactory Klassenkonstruktoren aufrufen, um die von der TaskFactory Klasse erstellten Task Objekte zu konfigurieren. Im folgenden Beispiel wird ein neues TaskFactory-Objekt konfiguriert, um Aufgaben zu erstellen, die über ein bestimmtes Abbruchtoken, Aufgabenerstellungsoptionen, Fortsetzungsoptionen und einen angepassten Aufgabenplaner verfügen.

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

In den meisten Fällen müssen Sie keine neue TaskFactory Instanz instanziieren. Stattdessen können Sie die Task.Factory-Eigenschaft verwenden, die ein Factoryobjekt zurückgibt, das Standardwerte verwendet. Anschließend können Sie die zugehörigen Methoden aufrufen, um neue Aufgaben zu starten oder Aufgabenfortsetzungen zu definieren. Eine Abbildung finden Sie im Beispiel.

Konstruktoren

TaskFactory()

Initialisiert eine TaskFactory Instanz mit der Standardkonfiguration.

TaskFactory(CancellationToken, TaskCreationOptions, TaskContinuationOptions, TaskScheduler)

Initialisiert eine TaskFactory Instanz mit der angegebenen Konfiguration.

TaskFactory(CancellationToken)

Initialisiert eine TaskFactory Instanz mit der angegebenen Konfiguration.

TaskFactory(TaskCreationOptions, TaskContinuationOptions)

Initialisiert eine TaskFactory Instanz mit der angegebenen Konfiguration.

TaskFactory(TaskScheduler)

Initialisiert eine TaskFactory Instanz mit der angegebenen Konfiguration.

Eigenschaften

CancellationToken

Ruft das Standardmäßige Abbruchtoken für diese Vorgangsfactory ab.

ContinuationOptions

Ruft die Standardoptionen für die Aufgabenfortsetzung für diese Vorgangsfactory ab.

CreationOptions

Ruft die Standardoptionen für die Aufgabenerstellung für diese Vorgangsfactory ab.

Scheduler

Ruft den Standardaufgabenplaner für diese Vorgangsfactory ab.

Methoden

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

Erstellt eine Fortsetzungsaufgabe, die beginnt, wenn eine Reihe von angegebenen Vorgängen abgeschlossen wurde.

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

Erstellt eine Fortsetzungsaufgabe, die beginnt, wenn eine Reihe von angegebenen Vorgängen abgeschlossen wurde.

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

Erstellt eine Fortsetzungsaufgabe, die beginnt, wenn eine Reihe von angegebenen Vorgängen abgeschlossen wurde.

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

Erstellt eine Fortsetzungsaufgabe, die beginnt, wenn eine Reihe von angegebenen Vorgängen abgeschlossen wurde.

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

Erstellt eine Fortsetzungsaufgabe, die beginnt, wenn eine Reihe von angegebenen Vorgängen abgeschlossen wurde.

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

Erstellt eine Fortsetzungsaufgabe, die beginnt, wenn eine Reihe von angegebenen Vorgängen abgeschlossen wurde.

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

Erstellt eine Fortsetzungsaufgabe, die beginnt, wenn eine Reihe von angegebenen Vorgängen abgeschlossen wurde.

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

Erstellt eine Fortsetzungsaufgabe, die beginnt, wenn eine Reihe von angegebenen Vorgängen abgeschlossen wurde.

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

Erstellt eine Fortsetzungsaufgabe, die beginnt, wenn eine Reihe von angegebenen Vorgängen abgeschlossen wurde.

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

Erstellt eine Fortsetzungsaufgabe, die beginnt, wenn eine Reihe von angegebenen Vorgängen abgeschlossen wurde.

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

Erstellt eine Fortsetzungsaufgabe, die beginnt, wenn eine Reihe von angegebenen Vorgängen abgeschlossen wurde.

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

Erstellt eine Fortsetzungsaufgabe, die beginnt, wenn eine Reihe von angegebenen Vorgängen abgeschlossen wurde.

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

Erstellt eine Fortsetzungsaufgabe, die beginnt, wenn eine Reihe von angegebenen Vorgängen abgeschlossen wurde.

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

Erstellt eine Fortsetzungsaufgabe, die beginnt, wenn eine Reihe von angegebenen Vorgängen abgeschlossen wurde.

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

Erstellt eine Fortsetzungsaufgabe, die beginnt, wenn eine Reihe von angegebenen Vorgängen abgeschlossen wurde.

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

Erstellt eine Fortsetzungsaufgabe, die beginnt, wenn eine Reihe von angegebenen Vorgängen abgeschlossen wurde.

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

Erstellt eine Fortsetzungs-Task, die nach Abschluss einer aufgabe im angegebenen Satz gestartet wird.

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

Erstellt eine Fortsetzungs-Task, die nach Abschluss einer aufgabe im angegebenen Satz gestartet wird.

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

Erstellt eine Fortsetzungs-Task, die nach Abschluss einer aufgabe im angegebenen Satz gestartet wird.

ContinueWhenAny(Task[], Action<Task>)

Erstellt eine Fortsetzungs-Task, die nach Abschluss einer aufgabe im angegebenen Satz gestartet wird.

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

Erstellt eine Fortsetzungs-Task<TResult>, die nach Abschluss einer aufgabe im angegebenen Satz gestartet wird.

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

Erstellt eine Fortsetzungs-Task<TResult>, die nach Abschluss einer aufgabe im angegebenen Satz gestartet wird.

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

Erstellt eine Fortsetzungs-Task<TResult>, die nach Abschluss einer aufgabe im angegebenen Satz gestartet wird.

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

Erstellt eine Fortsetzungs-Task<TResult>, die nach Abschluss einer aufgabe im angegebenen Satz gestartet wird.

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

Erstellt eine Fortsetzungs-Task, die nach Abschluss einer aufgabe im angegebenen Satz gestartet wird.

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

Erstellt eine Fortsetzungs-Task, die nach Abschluss einer aufgabe im angegebenen Satz gestartet wird.

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

Erstellt eine Fortsetzungs-Task, die nach Abschluss einer aufgabe im angegebenen Satz gestartet wird.

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

Erstellt eine Fortsetzungs-Task, die nach Abschluss einer aufgabe im angegebenen Satz gestartet wird.

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

Erstellt eine Fortsetzungs-Task<TResult>, die nach Abschluss einer aufgabe im angegebenen Satz gestartet wird.

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

Erstellt eine Fortsetzungs-Task<TResult>, die nach Abschluss einer aufgabe im angegebenen Satz gestartet wird.

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

Erstellt eine Fortsetzungs-Task<TResult>, die nach Abschluss einer aufgabe im angegebenen Satz gestartet wird.

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

Erstellt eine Fortsetzungs-Task<TResult>, die nach Abschluss einer aufgabe im angegebenen Satz gestartet wird.

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

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

Erstellt eine Task, die ein Start- und Endmethodenpaar darstellt, das dem Muster des asynchronen Programmiermodells entspricht.

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

Erstellt eine Task, die ein Start- und Endmethodenpaar darstellt, das dem Muster des asynchronen Programmiermodells entspricht.

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

Erstellt eine Task, die eine Endmethodenaktion ausführt, wenn ein angegebenes IAsyncResult abgeschlossen ist.

FromAsync(IAsyncResult, Action<IAsyncResult>, TaskCreationOptions)

Erstellt eine Task, die eine Endmethodenaktion ausführt, wenn ein angegebenes IAsyncResult abgeschlossen ist.

FromAsync(IAsyncResult, Action<IAsyncResult>)

Erstellt eine Task, die eine Endmethodenaktion ausführt, wenn ein angegebenes IAsyncResult abgeschlossen ist.

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

Erstellt eine Task<TResult>, die ein Start- und Endmethodenpaar darstellt, das dem Muster des asynchronen Programmiermodells entspricht.

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

Erstellt eine Task<TResult>, die ein Start- und Endmethodenpaar darstellt, das dem Muster des asynchronen Programmiermodells entspricht.

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

Erstellt eine Task, die ein Start- und Endmethodenpaar darstellt, das dem Muster des asynchronen Programmiermodells entspricht.

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

Erstellt eine Task, die ein Start- und Endmethodenpaar darstellt, das dem Muster des asynchronen Programmiermodells entspricht.

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

Erstellt eine Task<TResult>, die ein Start- und Endmethodenpaar darstellt, das dem Muster des asynchronen Programmiermodells entspricht.

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

Erstellt eine Task<TResult>, die ein Start- und Endmethodenpaar darstellt, das dem Muster des asynchronen Programmiermodells entspricht.

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

Erstellt eine Task, die ein Start- und Endmethodenpaar darstellt, das dem Muster des asynchronen Programmiermodells entspricht.

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

Erstellt eine Task, die ein Start- und Endmethodenpaar darstellt, das dem Muster des asynchronen Programmiermodells entspricht.

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

Erstellt eine Task<TResult>, die ein Start- und Endmethodenpaar darstellt, das dem Muster des asynchronen Programmiermodells entspricht.

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

Erstellt eine Task<TResult>, die ein Start- und Endmethodenpaar darstellt, das dem Muster des asynchronen Programmiermodells entspricht.

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

Erstellt eine Task, die ein Start- und Endmethodenpaar darstellt, das dem Muster des asynchronen Programmiermodells entspricht.

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

Erstellt eine Task, die ein Start- und Endmethodenpaar darstellt, das dem Muster des asynchronen Programmiermodells entspricht.

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

Erstellt eine Task<TResult>, die ein Start- und Endmethodenpaar darstellt, das dem Muster des asynchronen Programmiermodells entspricht.

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

Erstellt eine Task<TResult>, die ein Start- und Endmethodenpaar darstellt, das dem Muster des asynchronen Programmiermodells entspricht.

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

Erstellt eine Task<TResult>, die eine Endmethodenfunktion ausführt, wenn ein angegebenes IAsyncResult abgeschlossen ist.

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

Erstellt eine Task<TResult>, die eine Endmethodenfunktion ausführt, wenn ein angegebenes IAsyncResult abgeschlossen ist.

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

Erstellt eine Task<TResult>, die eine Endmethodenfunktion ausführt, wenn ein angegebenes IAsyncResult abgeschlossen ist.

GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
StartNew(Action, CancellationToken, TaskCreationOptions, TaskScheduler)

Erstellt und startet eine Aufgabe für den angegebenen Aktionsdelegat, abbruchtoken, Erstellungsoptionen und Zustand.

StartNew(Action, CancellationToken)

Erstellt und startet eine Aufgabe für den angegebenen Aktionsdelegat und das Abbruchtoken.

StartNew(Action, TaskCreationOptions)

Erstellt und startet eine Aufgabe für die angegebenen Aktionsdelegat- und Erstellungsoptionen.

StartNew(Action)

Erstellt und startet eine Aufgabe für den angegebenen Aktionsdelegat.

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

Erstellt und startet eine Aufgabe für den angegebenen Aktionsdelegat, Zustand, Abbruchtoken, Erstellungsoptionen und Aufgabenplanung.

StartNew(Action<Object>, Object, CancellationToken)

Erstellt und startet eine Aufgabe für den angegebenen Aktionsdelegat, Zustands- und Abbruchtoken.

StartNew(Action<Object>, Object, TaskCreationOptions)

Erstellt und startet eine Aufgabe für die angegebenen Aktionsdelegat-, Zustands- und Erstellungsoptionen.

StartNew(Action<Object>, Object)

Erstellt und startet eine Aufgabe für den angegebenen Aktionsdelegat und -zustand.

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

Erstellt und startet eine Aufgabe vom Typ TResult für den angegebenen Funktionsdelegat, Zustand, Abbruchtoken, Erstellungsoptionen und Aufgabenplanung.

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

Erstellt und startet eine Aufgabe vom Typ TResult für den angegebenen Funktionsdelegat, Zustands- und Abbruchtoken.

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

Erstellt und startet eine Aufgabe vom Typ TResult für die angegebenen Funktionsdelegat-, Zustands- und Erstellungsoptionen.

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

Erstellt und startet eine Aufgabe vom Typ TResult für den angegebenen Funktionsdelegat und -zustand.

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

Erstellt und startet eine Aufgabe vom Typ TResult für den angegebenen Funktionsdelegat, Abbruchtoken, Erstellungsoptionen und Aufgabenplaner.

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

Erstellt und startet eine Aufgabe vom Typ TResult für den angegebenen Funktionsdelegat und abbruchtoken.

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

Erstellt und startet eine Aufgabe vom Typ TResult für die angegebenen Funktionsdelegat- und Erstellungsoptionen.

StartNew<TResult>(Func<TResult>)

Erstellt und startet eine Aufgabe vom Typ TResult für den angegebenen Funktionsdelegat.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für:

Threadsicherheit

Alle öffentlichen und geschützten Member von TaskFactory sind threadsicher und können gleichzeitig aus mehreren Threads verwendet werden.

Weitere Informationen