Sdílet prostřednictvím


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

    Funkce, která vrací None -li zpráva vynechána, nebo Some Pokud je zpráva zpracována a odebrána z fronty.

  • timeout
    Typ: int

    Volitelné časový limit v milisekundách.Výchozí hodnotu -1, který odpovídá Infinite.

Výjimky

Výjimka

Podmínka

TimeoutException

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é

Viz také

Referenční dokumentace

Control.MailboxProcessor < "Msg > Třídy (F#)

Obor názvů Microsoft.FSharp.Control (F#)