The receive operation must specify the mailbox or mailbox set from which a message is to be received. A mailbox set is a collection of mailboxes,
as declared by the task, which can be grouped together and treated as one mailbox for the purposes of the task.
Threads in a task can receive only from a mailbox or mailbox set for which the task has receive access.
A port status() system call returns the number of messages in a given mailbox. The receive operation attempts to receive from (1) any mailbox in a mailbox set or (2) a specific (named) mailbox.
If no message is waiting to be received, the receiving thread can either wait at most n milliseconds or not wait at all.