Share via


Async.StartAsTask<'T> (Método de F#)

Ejecuta un cálculo en el grupo de subprocesos. Devuelve un objeto Task que se completará una vez en el estado correspondiente cuando finaliza el cálculo (genera el resultado, produce la excepción o se cancela). Si no se proporciona ningún token de cancelación, se utiliza el token de cancelación predeterminado.

Espacio de nombres/Ruta de acceso del módulo: Microsoft.FSharp.Control

Ensamblado: FSharp.Core (en FSharp.Core.dll)

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

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

Parámetros

  • computation
    Tipo: Async<'T>

    Cálculo que se va a ejecutar.

  • taskCreationOptions
    Tipo: TaskCreationOptions

    Opciones alternativas de creación de tareas.

  • cancellationToken
    Tipo: CancellationToken

    Token de cancelación opcional.

Valor devuelto

Objeto Task<TResult> que representa el cálculo especificado.

Ejemplo

En el ejemplo de código siguiente, se muestra el uso 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)

Plataformas

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

Información de versiones

Runtime de F#

Se admite en la versión: 4.0

Silverlight

No compatible

Vea también

Referencia

Control.Async (Clase de F#)

Microsoft.FSharp.Control (Espacio de nombres de F#)

Historial de cambios

Fecha

Historial

Motivo

Agosto de 2010

Se ha agregado un ejemplo de código.

Mejora de la información.