TaskFactory Classe
Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

TaskFactory, classe

 

Prend en charge la création et la planification d'objets Task.

Espace de noms:   System.Threading.Tasks
Assembly:  mscorlib (dans mscorlib.dll)

System.Object
  System.Threading.Tasks.TaskFactory

[HostProtectionAttribute(SecurityAction.LinkDemand, Synchronization = true, 
	ExternalThreading = true)]
public class TaskFactory

NomDescription
System_CAPS_pubmethodTaskFactory()

Initialise une instance de TaskFactory avec la configuration par défaut.

System_CAPS_pubmethodTaskFactory(CancellationToken)

Initialise une instance de TaskFactory avec la configuration spécifiée.

System_CAPS_pubmethodTaskFactory(CancellationToken, TaskCreationOptions, TaskContinuationOptions, TaskScheduler)

Initialise une instance de TaskFactory avec la configuration spécifiée.

System_CAPS_pubmethodTaskFactory(TaskCreationOptions, TaskContinuationOptions)

Initialise une instance de TaskFactory avec la configuration spécifiée.

System_CAPS_pubmethodTaskFactory(TaskScheduler)

Initialise une instance de TaskFactory avec la configuration spécifiée.

NomDescription
System_CAPS_pubpropertyCancellationToken

Obtient le jeton d'annulation par défaut pour cette fabrique de tâches.

System_CAPS_pubpropertyContinuationOptions

Obtient les options de continuation de tâches par défaut pour cette fabrique de tâches.

System_CAPS_pubpropertyCreationOptions

Obtient les options de création de tâches par défaut pour cette fabrique de tâches.

System_CAPS_pubpropertyScheduler

Obtient le Planificateur de tâches par défaut pour cette fabrique de tâches.

NomDescription
System_CAPS_pubmethodContinueWhenAll(Task[], Action<Task[]>)

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

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

Crée une tâche de continuation qui démarre lorsqu'un ensemble de tâches spécifiées est terminé.

System_CAPS_pubmethodContinueWhenAny(Task[], Action<Task>)

Crée une Task de continuation qui démarrera quand l'une des tâches de l'ensemble fourni se terminera.

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

Crée une Task de continuation qui démarrera quand l'une des tâches de l'ensemble fourni se terminera.

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

Crée une Task de continuation qui démarrera quand l'une des tâches de l'ensemble fourni se terminera.

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

Crée une Task de continuation qui démarrera quand l'une des tâches de l'ensemble fourni se terminera.

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

Crée une Task<TResult> de continuation qui démarrera quand l'une des tâches de l'ensemble fourni se terminera.

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

Crée une Task<TResult> de continuation qui démarrera quand l'une des tâches de l'ensemble fourni se terminera.

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

Crée une Task<TResult> de continuation qui démarrera quand l'une des tâches de l'ensemble fourni se terminera.

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

Crée une Task<TResult> de continuation qui démarrera quand l'une des tâches de l'ensemble fourni se terminera.

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

Crée une Task de continuation qui démarrera quand l'une des tâches de l'ensemble fourni se terminera.

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

Crée une Task de continuation qui démarrera quand l'une des tâches de l'ensemble fourni se terminera.

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

Crée une Task de continuation qui démarrera quand l'une des tâches de l'ensemble fourni se terminera.

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

Crée une Task de continuation qui démarrera quand l'une des tâches de l'ensemble fourni se terminera.

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

Crée une Task<TResult> de continuation qui démarrera quand l'une des tâches de l'ensemble fourni se terminera.

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

Crée une Task<TResult> de continuation qui démarrera quand l'une des tâches de l'ensemble fourni se terminera.

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

Crée une Task<TResult> de continuation qui démarrera quand l'une des tâches de l'ensemble fourni se terminera.

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

Crée une Task<TResult> de continuation qui démarrera quand l'une des tâches de l'ensemble fourni se terminera.

System_CAPS_pubmethodEquals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.(Hérité de Object.)

System_CAPS_protmethodFinalize()

Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)

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

Crée un Task qui représente une paire de méthodes Begin et End conformes au modèle de programmation asynchrone.

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

Crée un Task qui représente une paire de méthodes Begin et End conformes au modèle de programmation asynchrone.

System_CAPS_pubmethodFromAsync(IAsyncResult, Action<IAsyncResult>)

Crée une Task qui exécute une action de la méthode End quand un IAsyncResult spécifié se termine.

System_CAPS_pubmethodFromAsync(IAsyncResult, Action<IAsyncResult>, TaskCreationOptions)

Crée une Task qui exécute une action de la méthode End quand un IAsyncResult spécifié se termine.

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

Crée une Task qui exécute une action de la méthode End quand un IAsyncResult spécifié se termine.

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

Crée un Task qui représente une paire de méthodes Begin et End conformes au modèle de programmation asynchrone.

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

Crée un Task qui représente une paire de méthodes Begin et End conformes au modèle de programmation asynchrone.

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

Crée un Task<TResult> qui représente une paire de méthodes Begin et End conformes au modèle de programmation asynchrone.

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

Crée un Task<TResult> qui représente une paire de méthodes Begin et End conformes au modèle de programmation asynchrone.

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

Crée un Task<TResult> qui exécute une fonction de méthode End quand un IAsyncResult spécifié se termine.

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

Crée un Task<TResult> qui exécute une fonction de méthode End quand un IAsyncResult spécifié se termine.

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

Crée un Task<TResult> qui exécute une fonction de méthode End quand un IAsyncResult spécifié se termine.

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

Crée un Task qui représente une paire de méthodes Begin et End conformes au modèle de programmation asynchrone.

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

Crée un Task qui représente une paire de méthodes Begin et End conformes au modèle de programmation asynchrone.

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

Crée un Task<TResult> qui représente une paire de méthodes Begin et End conformes au modèle de programmation asynchrone.

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

Crée un Task<TResult> qui représente une paire de méthodes Begin et End conformes au modèle de programmation asynchrone.

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

Crée un Task qui représente une paire de méthodes Begin et End conformes au modèle de programmation asynchrone.

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

Crée un Task qui représente une paire de méthodes Begin et End conformes au modèle de programmation asynchrone.

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

Crée un Task<TResult> qui représente une paire de méthodes Begin et End conformes au modèle de programmation asynchrone.

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

Crée un Task<TResult> qui représente une paire de méthodes Begin et End conformes au modèle de programmation asynchrone.

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

Crée un Task<TResult> qui représente une paire de méthodes Begin et End conformes au modèle de programmation asynchrone.

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

Crée un Task<TResult> qui représente une paire de méthodes Begin et End conformes au modèle de programmation asynchrone.

System_CAPS_pubmethodGetHashCode()

Fait office de fonction de hachage par défaut.(Hérité de Object.)

System_CAPS_pubmethodGetType()

Obtient le Type de l'instance actuelle.(Hérité de Object.)

System_CAPS_protmethodMemberwiseClone()

Crée une copie superficielle du Object actuel.(Hérité de Object.)

System_CAPS_pubmethodStartNew(Action)

Crée et lance une tâche.

System_CAPS_pubmethodStartNew(Action, CancellationToken)

Crée et lance un Task.

System_CAPS_pubmethodStartNew(Action, CancellationToken, TaskCreationOptions, TaskScheduler)

Crée et lance un Task.

System_CAPS_pubmethodStartNew(Action, TaskCreationOptions)

Crée et lance un Task.

System_CAPS_pubmethodStartNew(Action<Object>, Object)

Crée et lance un Task.

System_CAPS_pubmethodStartNew(Action<Object>, Object, CancellationToken)

Crée et lance un Task.

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

Crée et lance un Task.

System_CAPS_pubmethodStartNew(Action<Object>, Object, TaskCreationOptions)

Crée et lance un Task.

System_CAPS_pubmethodStartNew<TResult>(Func<TResult>)

Crée et lance un Task<TResult>.

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

Crée et lance un Task<TResult>.

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

Crée et lance un Task<TResult>.

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

Crée et lance un Task<TResult>.

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

Crée et lance un Task<TResult>.

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

Crée et lance un Task<TResult>.

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

Crée et lance un Task<TResult>.

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

Crée et lance un Task<TResult>.

System_CAPS_pubmethodToString()

Retourne une chaîne qui représente l'objet actuel.(Hérité de Object.)

Le .NET Framework fournit deux fabriques pour la création et la planification des tâches :

  • Le TaskFactory (classe), lequel crée Task et Task<TResult> objets. Vous pouvez appeler des surcharges de cette méthode pour créer et exécuter une tâche qui nécessite des arguments personnalisés.

    System_CAPS_warningAvertissement

    Compter les .NET Framework 4.5, la Task.Run méthode fournit le moyen le plus simple pour créer une tâche avec la valeur par défaut des valeurs de configuration et de commencer immédiatement.

  • Le TaskFactory<TResult> (classe), lequel crée Task<TResult> objets.

La TaskFactory classe vous permet de suivre la procédure suivante :

  • Créer une tâche et commencer immédiatement en appelant le StartNew (méthode).

    System_CAPS_warningAvertissement

    Compter les .NET Framework 4.5, la Task.Run méthode fournit le moyen le plus simple pour créer une tâche avec la valeur par défaut des valeurs de configuration et de commencer immédiatement.

  • Créer une tâche qui démarre lorsque l’une des tâches dans un tableau est terminée en appelant le ContinueWhenAny (méthode).

  • Créer une tâche qui démarre lorsque toutes les tâches dans un tableau s’est terminé en appelant le ContinueWhenAll (méthode).

La méthode statique Task<TResult>.Factory propriété retourne une valeur par défaut TaskFactory<TResult> objet. Vous pouvez également appeler une de la TaskFactory pour configurer les constructeurs de classe le Task des objets qui la TaskFactory classe crée. L’exemple suivant configure un nouveau TaskFactory objet pour créer des tâches qui ont un jeton d’annulation spécifié, les options de création de tâche, les options de continuation et un planificateur de tâches personnalisé.

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() {/*...*/ }
}

Dans la plupart des cas, vous n’avez pas à instancier un nouvel TaskFactory instance. Au lieu de cela, vous pouvez utiliser le Task.Factory propriété qui retourne un objet de fabrique qui utilise les valeurs par défaut. Vous pouvez ensuite appeler ses méthodes pour démarrer de nouvelles tâches ou définir les continuations de tâches. Pour obtenir une illustration, consultez l’exemple.

L’exemple suivant utilise la méthode statique Factory propriété afin que les deux appels à la TaskFactory.StartNew (méthode). La première remplit un tableau avec les noms des fichiers dans le répertoire Mes documents, tandis que la seconde remplit un tableau avec les noms des sous-répertoires du répertoire Mes documents de l’utilisateur. Il appelle ensuite la TaskFactory.ContinueWhenAll(Task[], Action<Task[]>) méthode, qui affiche des informations sur le nombre de fichiers et des répertoires dans les deux tableaux après les deux premières tâches ont terminé leur exécution.

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

Universal Windows Platform
Disponible depuis 8
.NET Framework
Disponible depuis 4.0
Portable Class Library
Pris en charge dans : portable .NET platforms
Silverlight
Disponible depuis 5.0
Windows Phone Silverlight
Disponible depuis 8.0
Windows Phone
Disponible depuis 8.1

Tous les membres publics et protégés de TaskFactory sont thread-safe et peuvent être utilisés simultanément par plusieurs threads.

Retour au début
Afficher:
© 2016 Microsoft