MailboxProcessor.Scan<'Msg,'T> Yöntemi (F#)
Bir iletinin geliş sırasına iletiler yoluyla sağlanan işlev dönünceye kadar bakarak tarar bir Some değeri. Diğer iletiler sırada kalır.
Ad alanı/modül yolu: Microsoft.FSharp.Control
Derleme: FSharp.Core (FSharp.Core.dll),
// Signature:
member this.Scan : ('Msg -> Async<'T> option) * ?int -> Async<'T>
// Usage:
mailboxProcessor.Scan (scanner)
mailboxProcessor.Scan (scanner, timeout = timeout)
Parametreler
scanner
Type: 'Msg -> Async<'T> optionDöndüren bir işlev None ileti atlanması için ise ya da Some ileti işlenir ve sıradan kaldırılan ise.
timeout
Türü: intİsteğe bağlı milisaniye cinsinden zaman aşımı. Infinite'e karşılık gelir ve varsayılan olarak -1'dir.
Özel Durumlar
Özel Durum |
Koşul |
---|---|
Zaman aşımı aşıldığında oluşturulur. |
Dönüş Değeri
Zaman uyumsuz bir hesaplama (zaman uyumsuz nesnesi), scanner okuma iletinin yerleşik.
Notlar
Bu yöntem aracının gövdesi içinde kullanılır. Her aracı için en fazla eşzamanlı bir okuyucu etkin olabilir bu nedenle birden fazla eş zamanlı çağrı Al, TryReceive, Scan veya TryScan etkin olabilir. Gövdesi scanner işlevi yürütmesi sırasında kilitli ancak kilit zaman uyumsuz iş akışının yürütülmesini önce serbest bırakılmış.
Örnek
Aşağıdaki örnek, Scan metodunun nasıl kullanılacağını göstermektedir. Bu kodda, çalıştırın ve bir sonuç hesaplamak benzetimi yapılan işlerin bir dizi posta kutusu işlemci aracılarını yönetebilir.
Örnek oturumunda aşağıdaki gibidir.
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