Task.Start Task.Start Task.Start Task.Start Method

Définition

Démarre Task.Starts the Task.

Surcharges

Start() Start() Start() Start()

Démarre la Task, en planifiant son exécution selon le TaskScheduler en cours.Starts the Task, scheduling it for execution to the current TaskScheduler.

Start(TaskScheduler) Start(TaskScheduler) Start(TaskScheduler) Start(TaskScheduler)

Démarre la Task, en planifiant son exécution sur le TaskScheduler spécifié.Starts the Task, scheduling it for execution to the specified TaskScheduler.

Start() Start() Start() Start()

Démarre la Task, en planifiant son exécution selon le TaskScheduler en cours.Starts the Task, scheduling it for execution to the current TaskScheduler.

public:
 void Start();
public void Start ();
member this.Start : unit -> unit
Public Sub Start ()

Exceptions

L’instance Task a été supprimée.The Task instance has been disposed.

La Task n’est pas dans un état valide pour être démarrée.The Task is not in a valid state to be started. Elle peut avoir déjà été démarrée, exécutée ou annulée, ou créée d’une manière qui ne prend pas en charge la planification directe.It may have already been started, executed, or canceled, or it may have been created in a manner that doesn't support direct scheduling.

Exemples

L’exemple suivant appelle la Task(Action) constructeur pour instancier un nouvel Task objet qui affiche sa tâche ID et l’ID de thread managé, puis exécute une boucle.The following example calls the Task(Action) constructor to instantiate a new Task object that displays its task ID and managed thread ID and then executes a loop. Il appelle ensuite la Start méthode à exécuter la tâche.It then calls the Start method to execute the task. Dans la mesure où il s’agit d’une application console, l’appel à la Wait méthode est nécessaire pour empêcher l’application de se terminer avant que la tâche termine l’exécution.Since this is a console app, the call to the Wait method is necessary to prevent the app from terminating before the task finishes execution.

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

public class Example
{
   public static void Main()
   {
      var t = new Task( () => { Console.WriteLine("Task {0} running on thread {1}",
                                                  Task.CurrentId, Thread.CurrentThread.ManagedThreadId);
                                for (int ctr = 1; ctr <= 10; ctr++)
                                   Console.WriteLine("   Iteration {0}", ctr); } 
                        );
      t.Start();
      t.Wait();   
   }
}
// The example displays output like the following:
//     Task 1 running on thread 3
//        Iteration 1
//        Iteration 2
//        Iteration 3
//        Iteration 4
//        Iteration 5
//        Iteration 6
//        Iteration 7
//        Iteration 8
//        Iteration 9
//        Iteration 10
Imports System.Threading
Imports System.Threading.Tasks

Module Example
   Public Sub Main()
      Dim t As New Task(Sub()
                           Console.WriteLine("Task {0} running on thread {1}",
                                             Task.CurrentId, Thread.CurrentThread.ManagedThreadId )
                           For ctr As Integer = 1 To 10
                              Console.WriteLine("   Iteration {0}", ctr)
                           Next   
                        End Sub)
      t.Start
      t.Wait()   
   End Sub
End Module
' The example displays output like the following:
'     Task 1 running on thread 3
'        Iteration 1
'        Iteration 2
'        Iteration 3
'        Iteration 4
'        Iteration 5
'        Iteration 6
'        Iteration 7
'        Iteration 8
'        Iteration 9
'        Iteration 10

Remarques

Une tâche peut être démarrée et exécutée qu’une seule fois.A task may be started and run only once. Toute tentative pour planifier une tâche une deuxième fois provoquera une exception.Any attempts to schedule a task a second time will result in an exception.

Le Start est utilisée pour exécuter une tâche qui a été créée en appelant une de le Task constructeurs.The Start is used to execute a task that has been created by calling one of the Task constructors. En règle générale, cela lorsque vous avez besoin séparer la création de la tâche à partir de son exécution, notamment lorsque vous exécutez conditionnellement des tâches que vous avez créé.Typically, you do this when you need to separate the task's creation from its execution, such as when you conditionally execute tasks that you've created. Dans le cas plus courant dans lequel vous n’avez pas besoin de séparer l’instanciation de tâches à partir de l’exécution, nous vous recommandons d’appeler une surcharge de la Task.Run ou TaskFactory.StartNew (méthode).For the more common case in which you don't need to separate task instantiation from execution, we recommend that you call an overload of the Task.Run or TaskFactory.StartNew method.

Pour plus d’informations sur la gestion des exceptions levées par les opérations de la tâche, consultez gestion des exceptions.For information on handling exceptions thrown by task operations, see Exception Handling.

Voir aussi

Start(TaskScheduler) Start(TaskScheduler) Start(TaskScheduler) Start(TaskScheduler)

Démarre la Task, en planifiant son exécution sur le TaskScheduler spécifié.Starts the Task, scheduling it for execution to the specified TaskScheduler.

public:
 void Start(System::Threading::Tasks::TaskScheduler ^ scheduler);
public void Start (System.Threading.Tasks.TaskScheduler scheduler);
member this.Start : System.Threading.Tasks.TaskScheduler -> unit
Public Sub Start (scheduler As TaskScheduler)

Paramètres

scheduler
TaskScheduler TaskScheduler TaskScheduler TaskScheduler

TaskScheduler avec lequel associer et exécuter cette tâche.The TaskScheduler with which to associate and execute this task.

Exceptions

L'argument scheduler a la valeur null.The scheduler argument is null.

La Task n’est pas dans un état valide pour être démarrée.The Task is not in a valid state to be started. Elle peut avoir déjà été démarrée, exécutée ou annulée, ou créée d’une manière qui ne prend pas en charge la planification directe.It may have already been started, executed, or canceled, or it may have been created in a manner that doesn't support direct scheduling.

L’instance Task a été supprimée.The Task instance has been disposed.

Le Planificateur n’a pas pu mettre cette tâche en file d’attente.The scheduler was unable to queue this task.

Remarques

Une tâche peut uniquement être démarrée et exécutée qu’une seule fois.A task may only be started and run only once. Toute tentative pour planifier une tâche une deuxième fois provoquera une exception.Any attempts to schedule a task a second time will result in an exception.

Pour plus d’informations sur la gestion des exceptions levées par les opérations de la tâche, consultez gestion des exceptions.For information on handling exceptions thrown by task operations, see Exception Handling.

Voir aussi

S’applique à