Aracılığıyla paylaş


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ü: int

    Uyunacak milisaniye sayısı.

Özel Durumlar

Özel Durum

Koşul

ArgumentOutOfRangeException

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

Ayrıca bkz.

Başvuru

Control.Async Sınıfı (F#)

Microsoft.FSharp.Control İsim Uzayı (F#)