MailboxProcessor.TryScan<'Msg,'T> 메서드(F#)
업데이트: 2010년 9월
지정한 함수에서 Some 값을 반환할 때까지 도착 순서대로 메시지를 탐색하여 메시지를 검사합니다. 다른 메시지는 큐에 남아 있습니다.
네임스페이스/모듈 경로: Microsoft.FSharp.Control
어셈블리: FSharp.Core(FSharp.Core.dll)
// Signature:
member this.TryScan : ('Msg -> Async<'T> option) * ?int -> Async<'T option>
// Usage:
mailboxProcessor.TryScan (scanner)
mailboxProcessor.TryScan (scanner, timeout = timeout)
매개 변수
scanner
형식: 'Msg -> Async<'T> option메시지가 생략될 경우 None을 반환하거나, 메시지가 처리되어 큐에서 제거될 경우 Some을 반환하는 함수입니다.
timeout
형식: int선택적 제한 시간(밀리초)입니다. 기본값은 Infinite()에 해당하는 -1입니다.
반환 값
scanner가 읽은 메시지에서 작성한 비동기 계산(Async 개체)입니다.
설명
제한 시간이 지정되어 있으며 이 제한 시간 제한이 초과된 경우 None을 반환합니다. 이 메서드는 에이전트 본문 내에서 사용됩니다. 각 에이전트에 대해 최대 하나의 동시 판독기만 활성화될 수 있으므로 Receive, TryReceive, Scan 또는 TryScan에 대한 둘 이상의 동시 호출이 활성화될 수 없습니다. scanner 함수의 본문은 실행 중인 동안 잠겨 있지만 비동기 워크플로의 실행 전에는 잠금이 해제됩니다.
플랫폼
Windows 7, Windows Vista SP2, Windows XP SP3, Windows XP x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2
버전 정보
F# 런타임
지원되는 버전: 2.0, 4.0
Silverlight
지원되는 버전: 3
참고 항목
참조
Control.MailboxProcessor<'Msg> 클래스(F#)
Microsoft.FSharp.Control 네임스페이스(F#)
변경 기록
날짜 |
변경 내용 |
이유 |
---|---|---|
2010년 9월 |
다중 스레딩 동작에 대해 명확히 설명했습니다. |
향상된 기능 관련 정보 |
2011년 4월 |
시간 초과 동작에 대해 분명히 설명합니다. |
콘텐츠 버그 수정 |