Aracılığıyla paylaş


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

    Uyunacak milisaniye sayısı.

Özel Durumlar

Exception

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ö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

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

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.