Using F# MailboxProcessor
F# has extensive features of asynchronous operations such as the way it uniquely separates and differentiates from other .NET-managed languages, such as C#/VB, Managed C++, Nemerle, IronPython, and IronRuby. But at the same time, it runs on top of .NET CLR, providing high compatibility with other languages.
F#'s own unique asynchronous features are not just the asynchronous workflows; it has a class that acts as a message passing agent or actor, MailboxProcessor
. The MailboxProcessor
feature was introduced at the same time as asynchronous workflow was released, and the implementation of MailboxProcessor
itself is actually an implementation of a set of asynchronous workflows.
Background case of having message agent
The advantage of having an asynchronous model is the fact that we don't have to wait for the operation or task to be completely finished before doing something else, especially the next operations. The advantage that we don't have to wait for the completion...