Partager via


Async.StartAsTask<'T>, méthode (F#)

Exécute un calcul dans le pool de threads. Retourne un Task qui se terminera dans l'état correspondant une fois le calcul terminé (après avoir produit un résultat, levé une exception ou avoir été annulé). Si aucun jeton d'annulation n'est fourni, le jeton d'annulation par défaut est utilisé.

Espace de noms/Chemin du module : Microsoft.FSharp.Control

Assembly : FSharp.Core (in FSharp.Core.dll)

// Signature:
static member StartAsTask : Async<'T> * ?TaskCreationOptions * ?CancellationToken -> Task<'T>

// Usage:
Async.StartAsTask (computation)
Async.StartAsTask (computation, taskCreationOptions = taskCreationOptions, cancellationToken = cancellationToken)

Paramètres

  • computation
    Type : Async<'T>

    Le calcul à exécuter.

  • taskCreationOptions
    Type : TaskCreationOptions

    Options de création de tâches facultatives.

  • cancellationToken
    Type : CancellationToken

    Jeton d'annulation facultatif.

Valeur de retour

Un objet Task<TResult> qui représente le calcul donné.

Exemple

L'exemple de code suivant illustre l'utilisation de Async.StartAsTask.

open System.Windows.Forms

let bufferData = Array.zeroCreate<byte> 100000000

let async1 =
     async {
       use outputFile = System.IO.File.Create("longoutput.dat")
       do! outputFile.AsyncWrite(bufferData) 
     }


let form = new Form(Text = "Test Form")
let button = new Button(Text = "Start")
form.Controls.Add(button)
button.Click.Add(fun args -> let task = Async.StartAsTask(async1)
                             printfn "Do some other work..."
                             task.Wait()
                             printfn "done")
Application.Run(form)

Plateformes

Windows 7, Windows Vista SP2, Windows XP SP3, Windows XP x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2

Informations de version

Runtime F#

Prise en charge dans : 4.0

Silverlight

Non pris en charge

Voir aussi

Référence

Control.Async, classe (F#)

Microsoft.FSharp.Control, espace de noms (F#)

Historique des modifications

Date

Historique

Motif

Août 2010

Ajout d'un exemple de code

Améliorations apportées aux informations.