Async.Sleep Yöntemi (F#)
Verilen süre boyunca uyuyacak zaman uyumsuz bir hesaplama oluşturur. Bunu kullanarak zamanlanmış bir Timer nesnesi. İşlem, bekleme süresi boyunca işletim sistemi iş parçacıklarını engellemez.
Ad alanı/modül yol: Microsoft.FSharp.Control
Derleme: FSharp.Core (FSharp.Core.dll),
// Signature:
static member Sleep : int -> Async<unit>
// Usage:
Async.Sleep (millisecondsDueTime)
Parametreler
millisecondsDueTime
Türü: intUyunacak milisaniye sayısı.
Özel Durumlar
Özel Durum |
Koşul |
---|---|
Bitiş saati negatif olduğunda ve sonsuz olmadığında oluşturulur. |
Dönüş Değeri
Verilen süre boyunca uyuyacak zaman uyumsuz bir hesaplama.
Örnek
Aşağıdaki kod örneği nasıl kullanılacağını gösteren Async.Sleep çalıştırmak için belirli sürelerde hesaplamaların benzetimini yapmak için.
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
Örnek Çıktı
Aynı anda çalışan birden çok iş parçacığı olduğundan çıktı Aralanmış.
Platformlar
Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2
Sürüm Bilgisi
F# Çekirdek Kitaplığı sürümleri
Desteklenen: 2.0, 4.0, Portable