Pergunta

It seems that the standard practice is to immediately alias MailboxProcessor<'T> to Agent<'T>. So why the name in the first place anyways? Why don't they just call it Agent<'T>, if there's no name conflict to begin with? It sounds like something to do with receiving emails to be honest. I couldn't find any information after some Googling.

Foi útil?

Solução

"Mailbox" is a standard term in message passing concurrency. A mailbox is where the messages are delivered to. It's basically an older and more widely-used synonym for "message queue". It is also somewhat more general than "message queue" and can be applied in situations where messages are not ordered (e.g. in the Actor Model).

So, a "mailbox processor" is something that processes messages from a mailbox. In the Actor Model, the Actors are the mailbox processors, in an Agent Model, the Agents are the mailbox processors, and so on.

Licenciado em: CC-BY-SA com atribuição
scroll top