Async.Sleep Yöntemi (F#)
Verilen süre boyunca uyuyacak zaman uyumsuz bir hesaplama oluşturur. Bu kullanılarak zamanlanan bir Timer nesne. İşlem, bekleme süresi boyunca işletim sistemi iş parçacıklarını engellemez.
İsim Uzayı/Modül Yolu: Microsoft.FSharp.Control
Derleme: FSharp.Core (FSharp.Core.dll içinde)
// Signature:
static member Sleep : int -> Async<unit>
// Usage:
Async.Sleep (millisecondsDueTime)
Parametreler
millisecondsDueTime
Aşağıdakini yazın: intUyunacak milisaniye sayısı.
Özel Durumlar
Exception |
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österir Async.Sleep hesaplamaları çalıştıran belirli süreler için 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 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 |
---|---|---|
Temmuz 2010 |
Eklenen kod örneği. |
Bilgi geliştirme. |