MailboxProcessor.Scan < "Msg, t > Metoda (F#)
Vyhledává zprávy zaměřením v pořadí doručení zpráv dokud poskytované funkce vrací Some hodnotu.Ostatní zprávy zůstávají ve frontě.
Cesta k oboru názvů nebo modul: Microsoft.FSharp.Control
Sestavení: FSharp.Core (v FSharp.Core.dll)
// Signature:
member this.Scan : ('Msg -> Async<'T> option) * ?int -> Async<'T>
// Usage:
mailboxProcessor.Scan (scanner)
mailboxProcessor.Scan (scanner, timeout = timeout)
Parametry
scanner
Type: 'Msg -> Async<'T> optionFunkce, která vrací None -li zpráva vynechána, nebo Some Pokud je zpráva zpracována a odebrána z fronty.
timeout
Typ: intVolitelné časový limit v milisekundách.Výchozí hodnotu -1, který odpovídá Infinite.
Výjimky
Výjimka |
Podmínka |
---|---|
Vyvolána při limitu. |
Vrácená hodnota
Asynchronní výpočtu (asynchronní objektu), scanner vytvořené vypnutí čtení zprávy.
Poznámky
Tato metoda je pro použití v rámci těla agent.Každý agent může být maximálně jeden Čtenář souběžné aktivní, tak více než jeden souběžných volání příjem, TryReceive, Scan nebo TryScan může být aktivní.Text scanner funkce je uzamčen během jeho provádění, ale před spuštěním pracovního postupu asynchronní uvolnění uzamčení.
Příklad
Následující příklad ukazuje způsob použití metody Scan.V tomto kódu procesoru agenti poštovní schránky spravovat řadu simulované úloh, které spustit a vypočítat výsledek.
Následuje ukázka relace.
Platformy
Windows 8, Windows 7, Windows Server 2012 Windows Server 2008 R2
Informace o verzi
F# základní verze knihovny
Podporovány: 2.0, 4.0, přenosné