Async.Parallel<'T> Yöntemi (F#)
Verilen tüm zaman uyumsuz hesapları, başlangıçta herbirini iş öğeleri gibi sıralayarak ve çatal/birleştir desenini kullanarak yürüten zaman uyumsuz bir hesaplama oluşturur.
Ad alanı/modül yolu: Microsoft.FSharp.Control
Derleme: FSharp.Core (FSharp.Core.dll içinde)
// Signature:
static member Parallel : seq<Async<'T>> -> Async<'T []>
// Usage:
Async.Parallel (computations)
Parametreler
Dönüş Değeri
Giriş hesaplamaları dizisinin sonuç değerlerini dizi olarak döndüren hesaplama.
Açıklamalar
Tüm alt hesaplamalar başarılı olursa, sonuçlar dizisi bir sonraki hesaplamaya geçirilir. Eğer alt hesaplamalardan birinde özel durum harekete geçirilirse, genel hesaplamada bir özel durum harekete geçer ve diğerlerini iptal eder. Genel hesaplama, alt hesaplamaları yürütürken iptal biilgisine yanıt verir. İptal edildiğinde, hesaplama kalan alt hesaplamaları iptal eder, ancak yine de diğer alt hesaplamaların tamamlanmasını bekler.
Örnek
Aşağıdaki kod örneği nasıl kullanılacağını gösterir Async.Parallel bir dizi için zaman uyumsuz olarak yaz hesaplamaları çalıştırılacak.
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
Platformlar
Windows 7, Windows Vista SP2, Windows XP SP3, Windows XP x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2
Sürüm Bilgisi
F# Çalışma Zamanı
Desteklenir: 2.0, 4.0
Silverlight
Desteklenir: 3
Ayrıca bkz.
Başvuru
Microsoft.FSharp.Control İsim Uzayı (F#)
Değişiklik Geçmişi
Tarih |
Geçmiş |
Nedeni |
---|---|---|
Ağustos 2010 |
Eklenen kod örneği. |
Bilgi geliştirme. |