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 ejecuta todos los cálculos asincrónicos especificados, poniéndolos inicialmente en cola como elementos de trabajo y usando un modelo de bifurcación/combinación.
Espacio de nombres/Ruta de acceso del módulo: Microsoft.FSharp.Control
Ensamblado: FSharp.Core (en FSharp.Core.dll)
// Signature:
static member Parallel : seq<Async<'T>> -> Async<'T []>
// Usage:
Async.Parallel (computations)
Parámetros
Valor devuelto
Cálculo que devuelve una matriz de valores a partir de la secuencia de cálculos de entrada.
Comentarios
Si todos los cálculos secundarios se realizan correctamente, se pasa una matriz de resultados a la continuación correcta. Si algún cálculo secundario produce una excepción, el cálculo global producirá una excepción y cancelará los demás cálculos. El cálculo global responderá a la cancelación ejecutando los cálculos secundarios. Si se cancela, el cálculo cancelará los cálculos secundarios restantes pero esperará hasta que se completen los demás cálculos secundarios.
Ejemplo
En el ejemplo de código siguiente se muestra cómo usar Async.Parallel para ejecutar cálculos que escriben en diversos archivos de forma asincrónica.
let bufferData (number:int) =
[| for count in 1 .. 1000 -> byte (count % 256) |]
|> Array.permute (fun index -> index)
let writeFiles bufferData =
Seq.init 1000 (fun num -> bufferData num)
|> Seq.mapi (fun num value ->
async {
let fileName = "file" + num.ToString() + ".dat"
use outputFile = System.IO.File.Create(fileName)
do! outputFile.AsyncWrite(value)
})
|> Async.Parallel
|> Async.Ignore
writeFiles bufferData
|> Async.Start
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 |
|---|---|---|
|
Agosto de 2010 |
Se ha agregado un ejemplo de código. |
Mejora de la información. |