MailboxProcessor.Post<'Msg> 메서드(F#)
업데이트: 2011년 1월
메시지를 MailboxProcessor의 메시지 큐에 비동기 방식으로 게시합니다.
네임스페이스/모듈 경로: Microsoft.FSharp.Control
어셈블리: FSharp.Core(FSharp.Core.dll)
// Signature:
member this.Post : 'Msg -> unit
// Usage:
mailboxProcessor.Post (message)
매개 변수
message
형식: 'Msg게시할 메시지입니다.
예제
다음 코드 예제에서는 사서함 프로세서 에이전트를 시작하고 여기에 메시지를 게시하는 방법을 보여 줍니다.
open System
open Microsoft.FSharp.Control
type Message(id, contents) =
static let mutable count = 0
member this.ID = id
member this.Contents = contents
static member CreateMessage(contents) =
count <- count + 1
Message(count, contents)
let mailbox = new MailboxProcessor<Message>(fun inbox ->
let rec loop count =
async { printfn "Message count = %d. Waiting for next message." count
let! msg = inbox.Receive()
printfn "Message received. ID: %d Contents: %s" msg.ID msg.Contents
return! loop( count + 1) }
loop 0)
mailbox.Start()
mailbox.Post(Message.CreateMessage("ABC"))
mailbox.Post(Message.CreateMessage("XYZ"))
Console.WriteLine("Press any key...")
Console.ReadLine() |> ignore
세션의 예를 들면 다음과 같습니다.
플랫폼
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#)
변경 기록
날짜 |
변경 내용 |
이유 |
---|---|---|
2011년 1월 |
코드 예제를 추가했습니다. |
향상된 기능 관련 정보 |