1. A method for communicating messages between processes via memory of a computer, the method comprising: providing a mailbox data structure for a second process in memory accessible to a first process and the second process, the data structure having one or more message slots for storing messages sent to the data structure and an availability indicator for indicating if a message slot is available for receiving a message; and sending a message from the first process to the second process via the mailbox data structure including: obtaining, in an atomic operation, the present value of the availability indicator and changing the present value to a new value; determining from the present value of the indicator if a message slot is available for receiving a message; and sending the message to the data structure if a message slot is available.