Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Mastering F#

You're reading from   Mastering F# A comprehensive and in-depth guide to writing functional programs using F#

Arrow left icon
Product type Paperback
Published in Nov 2016
Publisher
ISBN-13 9781784393434
Length 264 pages
Edition 1st Edition
Languages
Arrow right icon
Authors (2):
Arrow left icon
Suhaib Fahad Suhaib Fahad
Author Profile Icon Suhaib Fahad
Suhaib Fahad
Alfonso García-Caro Núñez Alfonso García-Caro Núñez
Author Profile Icon Alfonso García-Caro Núñez
Alfonso García-Caro Núñez
Arrow right icon
View More author details
Toc

Actor programming with MailboxProcessor


The actor programming model is a concurrent programming technique that provides a powerful mechanism to encapsulate several concurrency features. The key principles of the actor model are as follows:

  • No shared state between actors
  • Async message passing between clients to actor or between actors
  • Mailbox to buffer incoming messages
  • React to received messages by executing function

The F# MailboxProcessor class is the implementation of the actor model in FSharp.Core, and it is essentially a dedicated message queue running its own thread. We can use the API for MailboxProcessor to Post/Receive messages synchronously or asynchronously. We can also consider it an agent with an internal state machine. Let's take look at our first async agent:

let agent = 
   MailboxProcessor.Start(fun inbox -> 
     async { while true do 
               let! msg = inbox.Receive() 
               printfn "got message '%s'" msg } ) 
> agent.Post "Hello...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime