Async.Parallel<'T> — Metoda (F#)
Tworzy asynchronicznego obliczeń, który wykonuje wszystkie danego obliczenia asynchronicznych, początkowo queueing każdego z elementów i rozwidlenia/sprzężenia wzorek.
Ścieżka obszaru nazw/modułu: Microsoft.FSharp.Control
Zestaw: FSharp.Core (w FSharp.Core.dll)
// Signature:
static member Parallel : seq<Async<'T>> -> Async<'T []>
// Usage:
Async.Parallel (computations)
Parametry
Wartość zwracana
Obliczeń, która zwraca tablicę wartości z sekwencji wejściowych obliczenia.
Uwagi
Jeśli uda się wszystkie obliczenia dziecka, tablica wyników jest przekazywana do kontynuacji sukcesu.Jeśli wszystkie podrzędne obliczeń wzbudza wyjątek, następnie obliczenia ogólnej będzie wyzwalać wyjątek i Anuluj innych.Przy obliczaniu ogólnej odpowie na anulowanie podczas wykonywania obliczeń podrzędnych.Anulowane, obliczeń anuluje wszelkie pozostałe obliczenia dziecka, ale nadal będzie czekać na inne obliczenia podrzędnych zakończyć.
Przykład
Poniższy przykład kodu pokazuje, jak używać Async.Parallel uruchomić obliczeń asynchronicznie zapisywać pliki.
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
Platformy
Windows 8, Windows 7, Windows Server 2012 Windows Server 2008 R2
Informacje o wersji
F# Core wersji biblioteki
Obsługiwane: 2.0, 4.0, przenośne