Message Passing - Message Passing and Locks

Message Passing and Locks

Message passing can be used as a way of controlling access to resources in a concurrent or asynchronous system. One of the main alternatives is mutual exclusion or locking. Examples of resources include shared memory, a disk file or region thereof, a database table or set of rows.

In locking, a resource is essentially shared, and processes wishing to access it (or a sector of it) must first obtain a lock. Once the lock is acquired, other processes are blocked out, ensuring that corruption from simultaneous writes does not occur. After the process with the lock is finished with the resource, the lock is then released.

With the message-passing solution, it is assumed that the resource is not exposed, and all changes to it are made by an associated process, so that the resource is encapsulated. Processes wishing to access the resource send a request message to the handler. If the resource (or subsection) is available, the handler makes the requested change as an atomic event, that is conflicting requests are not acted on until the first request has been completed. If the resource is not available, the request is generally queued. The sending programme may or may not wait until the request has been completed.

Read more about this topic:  Message Passing

Famous quotes containing the words message, passing and/or locks:

    For the message about the cross is foolishness to those who are perishing, but to us who are being saved it is the power of God.
    Bible: New Testament, 1 Corinthians 1:18.

    This melancholy London—I sometimes imagine that the souls of the lost are compelled to walk through its streets perpetually. One feels them passing like a whiff of air.
    William Butler Yeats (1865–1939)

    When the rose reigns, and locks with ointments shine,
    Let rigid Cato read these lines of mine.
    Robert Herrick (1591–1674)