Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

Task, classe

Représente une opération asynchrone.

Espace de noms :  System.Threading.Tasks
Assembly :  mscorlib (dans mscorlib.dll)
[HostProtectionAttribute(SecurityAction.LinkDemand, Synchronization = true, 
	ExternalThreading = true)]
public class Task : IAsyncResult, IDisposable

Le type Task expose les membres suivants.

  NomDescription
Méthode publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreTask(Action)Initialise un nouveau Task avec l'action spécifiée.
Méthode publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreTask(Action, CancellationToken)Initialise un nouveau Task avec l'action spécifiée et CancellationToken.
Méthode publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreTask(Action, TaskCreationOptions)Initialise un nouveau Task avec l'action spécifiée et les options de création.
Méthode publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreTask(Action<Object>, Object)Initialise un nouveau Task avec l'action et l'état spécifiés.
Méthode publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreTask(Action, CancellationToken, TaskCreationOptions)Initialise un nouveau Task avec l'action spécifiée et les options de création.
Méthode publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreTask(Action<Object>, Object, CancellationToken)Initialise un nouveau Task avec l'action, l'état et les options spécifiés.
Méthode publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreTask(Action<Object>, Object, TaskCreationOptions)Initialise un nouveau Task avec l'action, l'état et les options spécifiés.
Méthode publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreTask(Action<Object>, Object, CancellationToken, TaskCreationOptions)Initialise un nouveau Task avec l'action, l'état et les options spécifiés.
Début
  NomDescription
Propriété publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreAsyncStateObtient l'objet d'état fourni lorsque le Task a été créé ou null, si aucun n'a été fourni.
Propriété publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreCreationOptionsObtient TaskCreationOptions utilisé pour créer cette tâche.
Propriété publiqueMembre statiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreCurrentIdRetourne l'ID unique du Task en cours d'exécution.
Propriété publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreExceptionObtient le AggregateException qui a provoqué la fin prématurée de Task. Si le Task s'est achevé avec succès ou n'a pas encore levé d'exception, le résultat retourné sera Null.
Propriété publiqueMembre statiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreFactoryFournit l'accès aux méthodes de fabrique pour la création d'instances Task et Task<TResult>.
Propriété publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreIdObtient un ID unique pour cette instance Task.
Propriété publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreIsCanceledIndique si cette instance Task s'est exécutée avec succès suite à une annulation.
Propriété publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreIsCompletedIndique si ce Task s'est achevé.
Propriété publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreIsFaultedIndique si Task s'est achevé suite à une exception non gérée.
Propriété publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreStatusObtient le TaskStatus de cette tâche.
Début
  NomDescription
Méthode publiquePris en charge dans .NET pour les applications du Windows StoreConfigureAwaitConfigure un élément awaiter utilisé pour attendre cette Task.
Méthode publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreContinueWith(Action<Task>)Crée une continuation qui s'exécute lorsque le Task cible se termine.
Méthode publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreContinueWith(Action<Task>, CancellationToken)Crée une continuation qui s'exécute lorsque le Task cible se termine.
Méthode publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreContinueWith(Action<Task>, TaskContinuationOptions)Crée une continuation qui s'exécute en fonction du TaskContinuationOptions spécifié.
Méthode publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreContinueWith(Action<Task>, TaskScheduler)Crée une continuation qui s'exécute lorsque le Task cible se termine.
Méthode publiquePris en charge dans .NET pour les applications du Windows StoreContinueWith(Action<Task, Object>, Object)Crée une continuation qui s'exécute lorsque la Task cible se termine.
Méthode publiquePris en charge dans .NET pour les applications du Windows StoreContinueWith(Action<Task, Object>, Object, CancellationToken)Crée une continuation qui s'exécute lorsque la Task cible se termine.
Méthode publiquePris en charge dans .NET pour les applications du Windows StoreContinueWith(Action<Task, Object>, Object, TaskContinuationOptions)Crée une continuation qui s'exécute lorsque la Task cible se termine.
Méthode publiquePris en charge dans .NET pour les applications du Windows StoreContinueWith(Action<Task, Object>, Object, TaskScheduler)Crée une continuation qui s'exécute lorsque la Task cible se termine.
Méthode publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreContinueWith(Action<Task>, CancellationToken, TaskContinuationOptions, TaskScheduler)Crée une continuation qui s'exécute en fonction du TaskContinuationOptions spécifié.
Méthode publiquePris en charge dans .NET pour les applications du Windows StoreContinueWith(Action<Task, Object>, Object, CancellationToken, TaskContinuationOptions, TaskScheduler)Crée une continuation qui s'exécute lorsque la Task cible se termine.
Méthode publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreContinueWith<TResult>(Func<Task, TResult>)Crée une continuation qui s'exécute lorsque le Task cible se termine.
Méthode publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreContinueWith<TResult>(Func<Task, TResult>, CancellationToken)Crée une continuation qui s'exécute lorsque le Task cible se termine.
Méthode publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreContinueWith<TResult>(Func<Task, TResult>, TaskContinuationOptions)Crée une continuation qui s'exécute en fonction de la condition spécifiée dans continuationOptions.
Méthode publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreContinueWith<TResult>(Func<Task, TResult>, TaskScheduler)Crée une continuation qui s'exécute lorsque le Task cible se termine.
Méthode publiquePris en charge dans .NET pour les applications du Windows StoreContinueWith<TResult>(Func<Task, Object, TResult>, Object)Crée une continuation qui s'exécute lorsque la Task cible se termine.
Méthode publiquePris en charge dans .NET pour les applications du Windows StoreContinueWith<TResult>(Func<Task, Object, TResult>, Object, CancellationToken)Crée une continuation qui s'exécute lorsque la Task cible se termine.
Méthode publiquePris en charge dans .NET pour les applications du Windows StoreContinueWith<TResult>(Func<Task, Object, TResult>, Object, TaskContinuationOptions)Crée une continuation qui s'exécute lorsque la Task cible se termine.
Méthode publiquePris en charge dans .NET pour les applications du Windows StoreContinueWith<TResult>(Func<Task, Object, TResult>, Object, TaskScheduler)Crée une continuation qui s'exécute lorsque la Task cible se termine.
Méthode publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreContinueWith<TResult>(Func<Task, TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler)Crée une continuation qui s'exécute en fonction de la condition spécifiée dans continuationOptions.
Méthode publiquePris en charge dans .NET pour les applications du Windows StoreContinueWith<TResult>(Func<Task, Object, TResult>, Object, CancellationToken, TaskContinuationOptions, TaskScheduler)Crée une continuation qui s'exécute lorsque la Task cible se termine.
Méthode publiqueMembre statiquePris en charge dans .NET pour les applications du Windows StoreDelay(Int32)Crée une tâche qui ne se termine qu'après un certain délai.
Méthode publiqueMembre statiquePris en charge dans .NET pour les applications du Windows StoreDelay(TimeSpan)Crée une tâche qui ne se termine qu'après un certain délai.
Méthode publiqueMembre statiquePris en charge dans .NET pour les applications du Windows StoreDelay(Int32, CancellationToken)Crée une tâche qui ne se termine qu'après un certain délai.
Méthode publiqueMembre statiquePris en charge dans .NET pour les applications du Windows StoreDelay(TimeSpan, CancellationToken)Crée une tâche qui ne se termine qu'après un certain délai.
Méthode publiqueDispose()Libère toutes les ressources utilisées par l'instance actuelle de la classe Task.
Méthode protégéeDispose(Boolean)Supprime le Task, en libérant toutes ses ressources non managées.
Méthode publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreEquals(Object)Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.)
Méthode protégéePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreFinalize 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.)
Méthode publiqueMembre statiquePris en charge dans .NET pour les applications du Windows StoreFromResult<TResult>Crée un Task<TResult> qui s'est terminé avec succès avec le résultat spécifié.
Méthode publiquePris en charge dans .NET pour les applications du Windows StoreGetAwaiterObtient un élément awaiter utilisé pour attendre cette Task.
Méthode publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreGetHashCodeSert de fonction de hachage pour un type particulier. (Hérité de Object.)
Méthode publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreGetTypeObtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode protégéePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreMemberwiseCloneCrée une copie superficielle de l'objet Object actuel. (Hérité de Object.)
Méthode publiqueMembre statiquePris en charge dans .NET pour les applications du Windows StoreRun(Action)Met en file d'attente le travail spécifié à exécuter dans le ThreadPool et retourne un handle de tâche pour ce travail.
Méthode publiqueMembre statiquePris en charge dans .NET pour les applications du Windows StoreRun(Func<Task>)Met en file d'attente le travail spécifié à exécuter dans le ThreadPool et retourne un proxy pour la Task retournée par function.
Méthode publiqueMembre statiquePris en charge dans .NET pour les applications du Windows StoreRun(Action, CancellationToken)Met en file d'attente le travail spécifié à exécuter dans le ThreadPool et retourne un handle de tâche pour ce travail.
Méthode publiqueMembre statiquePris en charge dans .NET pour les applications du Windows StoreRun(Func<Task>, CancellationToken)Met en file d'attente le travail spécifié à exécuter dans le ThreadPool et retourne un proxy pour la Task retournée par function.
Méthode publiqueMembre statiquePris en charge dans .NET pour les applications du Windows StoreRun<TResult>(Func<Task<TResult>>)Met en file d'attente le travail spécifié à exécuter dans le ThreadPool et retourne un proxy pour la Task(TResult) retournée par function.
Méthode publiqueMembre statiquePris en charge dans .NET pour les applications du Windows StoreRun<TResult>(Func<TResult>)Met en file d'attente le travail spécifié à exécuter dans le ThreadPool et retourne un handle de Task(TResult) pour ce travail.
Méthode publiqueMembre statiquePris en charge dans .NET pour les applications du Windows StoreRun<TResult>(Func<Task<TResult>>, CancellationToken)Met en file d'attente le travail spécifié à exécuter dans le ThreadPool et retourne un proxy pour la Task(TResult) retournée par function.
Méthode publiqueMembre statiquePris en charge dans .NET pour les applications du Windows StoreRun<TResult>(Func<TResult>, CancellationToken)Met en file d'attente le travail spécifié à exécuter dans le ThreadPool et retourne un handle de Task(TResult) pour ce travail.
Méthode publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreRunSynchronously()Exécute de façon synchrone le Task sur le TaskScheduler actuel.
Méthode publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreRunSynchronously(TaskScheduler)Exécute de façon synchrone le Task sur le TaskScheduler fourni.
Méthode publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreStart()Démarre le Task, en le planifiant pour l'exécution selon le TaskScheduler actuel.
Méthode publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreStart(TaskScheduler)Démarre le Task, en le planifiant pour l'exécution selon le TaskScheduler spécifié.
Méthode publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreToStringRetourne une chaîne qui représente l'objet actuel. (Hérité de Object.)
Méthode publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreWait()Attend la fin de l'exécution de Task.
Méthode publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreWait(CancellationToken)Attend la fin de l'exécution de Task.
Méthode publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreWait(Int32)Attend la fin de l'exécution de Task.
Méthode publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreWait(TimeSpan)Attend la fin de l'exécution de Task.
Méthode publiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreWait(Int32, CancellationToken)Attend la fin de l'exécution de Task.
Méthode publiqueMembre statiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreWaitAll(Task[])Attend la fin de l'exécution de tous les objets Task fournis.
Méthode publiqueMembre statiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreWaitAll(Task[], Int32)Attend la fin de l'exécution de tous les objets Task fournis.
Méthode publiqueMembre statiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreWaitAll(Task[], CancellationToken)Attend la fin de l'exécution de tous les objets Task fournis.
Méthode publiqueMembre statiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreWaitAll(Task[], TimeSpan)Attend la fin de l'exécution de tous les objets Task fournis.
Méthode publiqueMembre statiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreWaitAll(Task[], Int32, CancellationToken)Attend la fin de l'exécution de tous les objets Task fournis.
Méthode publiqueMembre statiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreWaitAny(Task[])Attend la fin de l'exécution de l'un des objets Task fournis.
Méthode publiqueMembre statiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreWaitAny(Task[], Int32)Attend la fin de l'exécution de l'un des objets Task fournis.
Méthode publiqueMembre statiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreWaitAny(Task[], CancellationToken)Attend la fin de l'exécution de l'un des objets Task fournis.
Méthode publiqueMembre statiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreWaitAny(Task[], TimeSpan)Attend la fin de l'exécution de l'un des objets Task fournis.
Méthode publiqueMembre statiquePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreWaitAny(Task[], Int32, CancellationToken)Attend la fin de l'exécution de l'un des objets Task fournis.
Méthode publiqueMembre statiquePris en charge dans .NET pour les applications du Windows StoreWhenAll(IEnumerable<Task>)Crée une tâche qui s'achève lorsque toutes les tâches fournies sont terminées.
Méthode publiqueMembre statiquePris en charge dans .NET pour les applications du Windows StoreWhenAll(Task[])Crée une tâche qui s'achève lorsque toutes les tâches fournies sont terminées.
Méthode publiqueMembre statiquePris en charge dans .NET pour les applications du Windows StoreWhenAll<TResult>(IEnumerable<Task<TResult>>)Crée une tâche qui s'achève lorsque toutes les tâches fournies sont terminées.
Méthode publiqueMembre statiquePris en charge dans .NET pour les applications du Windows StoreWhenAll<TResult>(Task<TResult>[])Crée une tâche qui s'achève lorsque toutes les tâches fournies sont terminées.
Méthode publiqueMembre statiquePris en charge dans .NET pour les applications du Windows StoreWhenAny(IEnumerable<Task>)Crée une tâche qui s'achève lorsque l'une des tâches fournies est terminée.
Méthode publiqueMembre statiquePris en charge dans .NET pour les applications du Windows StoreWhenAny(Task[])Crée une tâche qui s'achève lorsque l'une des tâches fournies est terminée.
Méthode publiqueMembre statiquePris en charge dans .NET pour les applications du Windows StoreWhenAny<TResult>(IEnumerable<Task<TResult>>)Crée une tâche qui s'achève lorsque l'une des tâches fournies est terminée.
Méthode publiqueMembre statiquePris en charge dans .NET pour les applications du Windows StoreWhenAny<TResult>(Task<TResult>[])Crée une tâche qui s'achève lorsque l'une des tâches fournies est terminée.
Méthode publiqueMembre statiquePris en charge dans .NET pour les applications du Windows StoreYieldCrée une tâche awaitable qui référence de façon asynchrone sur le contexte actuel une fois attendue.
Début
  NomDescription
Méthode d'extension publiquePris en charge dans .NET pour les applications du Windows StoreAsAsyncActionRetourne une action asynchrone de Windows Runtime qui représente une tâche. (Défini par WindowsRuntimeSystemExtensions.)
Méthode d'extension publiqueDispatcherOperationWait()Surchargé. Attend indéfiniment pour qu'DispatcherOperation sous-jacent s'achève. (Défini par TaskExtensions.)
Méthode d'extension publiqueDispatcherOperationWait(TimeSpan)Surchargé. Attend que la durée spécifiée pour qu'DispatcherOperation sous-jacent s'achève. (Défini par TaskExtensions.)
Méthode d'extension publiqueIsDispatcherOperationTaskRetourne une valeur qui indique si cet Task est associé avec DispatcherOperation. (Défini par TaskExtensions.)
Début
  NomDescription
Implémentation d'interface explicitePropriété privéePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreIAsyncResult.AsyncWaitHandleObtient un WaitHandle qui peut être utilisé en attendant la fin de la tâche.
Implémentation d'interface explicitePropriété privéePris en charge par Bibliothèque de classes portablePris en charge dans .NET pour les applications du Windows StoreIAsyncResult.CompletedSynchronouslyObtient une indication précisant si l'opération s'est terminée de manière synchrone.
Début

Les instances Task peuvent être créées de diverses façons. L'approche la plus commune est l'utilisation de la propriété Factory du type Task pour récupérer une instance TaskFactory qui peut être utilisée pour créer des tâches pour plusieurs utilisations. Par exemple, la méthode StartNew de la fabrique peut être utilisée pour créer un Task qui exécute une action :

// C#
var t = Task.Factory.StartNew(() => DoAction());

' Visual Basic
 Dim t = Task.Factory.StartNew(Function() DoAction())

Pour des exemples plus complets, consultez Parallélisme des tâches (bibliothèque parallèle de tâches).

La classe Task fournit également des constructeurs qui initialisent la tâche mais qui ne la planifient pas pour l'exécution. Pour des raisons de performances, la méthode StartNew de TaskFactory doit être le mécanisme recommandé pour la création et la planification des tâches de calcul ; pour les scénarios où la création et la planification doivent être séparées, les constructeurs peuvent être utilisés et la méthode Start de la tâche peut ensuite être employée pour planifier cette dernière en vue de son exécution ultérieure.

Pour les opérations qui retournent des valeurs, la classe Task<TResult> doit être utilisée.

Pour les développeurs de débogueur

Pour les développeurs qui implémentent des débogueurs personnalisés, plusieurs membres internes et privés de la classe Task peuvent être utiles (ils peuvent varier d'une version à une autre). Le champ m_taskId Int32 sert de magasin de stockage pour la propriété Id. L'accès direct à ce champ depuis un débogueur peut être plus efficace qu'accéder à la même valeur via la méthode d'accesseur Get (le compteur s_taskIdCounter Int32 est utilisé pour récupérer l'ID disponible suivant pour une tâche) de la propriété. De la même façon, le champ m_stateFlags Int32 stocke les informations à propos de l'étape de cycle de vie actuel de la tâche, informations également accessibles via la propriété Status. Le champ m_action System.Object stocke une référence au délégué de la tâche, et le champ m_stateObject System.Object stocke l'état asynchrone passé à la tâche par le développeur. Enfin, pour les débogueurs qui analysent des frames de pile, la méthode InternalWait prend en charge un marqueur potentiel dans le cas où une opération d'attente est lancée pour une tâche.

RemarqueRemarque

L'attribut HostProtectionAttribute appliqué à ce type ou membre a la valeur de propriété Resources suivante : Synchronization | ExternalThreading. HostProtectionAttribute n'affecte pas les applications bureautiques (qui sont généralement démarrées en double-cliquant sur une icône, en tapant une commande ou en entrant une URL dans un navigateur). Pour plus d'informations, consultez la classe HostProtectionAttribute ou Attributs de programmation et de protection des hôtes SQL Server.

L'exemple suivant montre comment démarrer une tâche en utilisant la méthode TaskFactory.StartNew :


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

class StartNewDemo
{
    // Demonstrated features:
    //		Task ctor()
    // 		Task.Factory
    //		Task.Wait()
    //		Task.RunSynchronously()
    // Expected results:
    // 		Task t1 (alpha) is created unstarted.
    //		Task t2 (beta) is created started.
    //		Task t1's (alpha) start is held until after t2 (beta) is started.
    //		Both tasks t1 (alpha) and t2 (beta) are potentially executed on threads other than the main thread on multi-core machines.
    //		Task t3 (gamma) is executed synchronously on the main thread.
    // Documentation:
    //		http://msdn.microsoft.com/en-us/library/system.threading.tasks.task_members(VS.100).aspx
    static void Main()
    {
        Action<object> action = (object obj) =>
        {
            Console.WriteLine("Task={0}, obj={1}, Thread={2}", Task.CurrentId, obj.ToString(), Thread.CurrentThread.ManagedThreadId);
        };

        // Construct an unstarted task
        Task t1 = new Task(action, "alpha");

        // Cosntruct a started task
        Task t2 = Task.Factory.StartNew(action, "beta");

        // Block the main thread to demonstate that t2 is executing
        t2.Wait();

        // Launch t1 
        t1.Start();

        Console.WriteLine("t1 has been launched. (Main Thread={0})", Thread.CurrentThread.ManagedThreadId);

        // Wait for the task to finish.
        // You may optionally provide a timeout interval or a cancellation token
        // to mitigate situations when the task takes too long to finish.
        t1.Wait();

        // Construct an unstarted task
        Task t3 = new Task(action, "gamma");

        // Run it synchronously
        t3.RunSynchronously();

        // Although the task was run synchrounously, it is a good practice to wait for it which observes for 
        // exceptions potentially thrown by that task.
        t3.Wait();
    }


}


.NET Framework

Pris en charge dans : 4.5, 4

.NET Framework Client Profile

Pris en charge dans : 4

Bibliothèque de classes portable

Pris en charge dans : Bibliothèque de classes portable

.NET pour les applications du Windows Store

Pris en charge dans : Windows 8

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Tous les membres de Task, sauf Dispose, sont thread-safe et peuvent être utilisés simultanément à partir de plusieurs threads.

Cela vous a-t-il été utile ?
(1500 caractères restants)

Ajouts de la communauté

AJOUTER
© 2013 Microsoft. Tous droits réservés.