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 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 8, Windows 7, Windows Server 2012, Windows Server 2008 R2

Informations de version

Versions de bibliothèque principale F#

Prise en charge dans : 4,0, portable

Voir aussi

Référence

Control.Async, classe (F#)

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