Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Crea un cálculo asincrónico que estará en suspensión durante el tiempo especificado. Se programa mediante un objeto Timer. La operación no bloqueará los subprocesos del sistema operativo durante el tiempo de espera.
Espacio de nombres/Ruta de acceso del módulo: Microsoft.FSharp.Control
Ensamblado: FSharp.Core (en FSharp.Core.dll)
// Signature:
static member Sleep : int -> Async<unit>
// Usage:
Async.Sleep (millisecondsDueTime)
Parámetros
millisecondsDueTime
Tipo: intNúmero de milisegundos durante los que se va a suspender.
Excepciones
Excepción |
Condition |
|---|---|
Se produce cuando el tiempo de expiración es negativo y no infinito. |
Valor devuelto
Cálculo asincrónico que estará en suspensión durante el tiempo especificado.
Ejemplo
En el ejemplo de código siguiente se muestra cómo usar Async.Sleep para simular los cálculos que se ejecutan con duraciones concretas.
let simulatedJob id time =
let timestamp() = System.DateTime.Now.Ticks
async {
printfn "Job %d start" id
let timestamp1 = timestamp()
do! Async.Sleep(time * 1000)
let timestamp2 = timestamp()
let timespan = System.TimeSpan(timestamp2 - timestamp1)
printfn "Job %d end %s" id (timespan.ToString("G"))
}
[ 1 .. 10]
|> List.mapi (fun index time -> simulatedJob index time)
|> Async.Parallel
|> Async.RunSynchronously
|> ignore
Resultados del ejemplo
La salida se intercala porque hay muchos subprocesos en ejecución al mismo tiempo.
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 las versiones: 2.0, 4.0
Silverlight
Se admite en la versión: 3
Vea también
Referencia
Microsoft.FSharp.Control (Espacio de nombres de F#)
Historial de cambios
Fecha |
Historial |
Motivo |
|---|---|---|
|
Julio de 2010 |
Se ha agregado un ejemplo de código. |
Mejora de la información. |