Applying an object Obj to message M applies the object's procedure to M . The argument indexes into the method table. A method is a procedure that is given a reference to the state cell. In general it modifies the state of the object. Reentrant locks use cells and logic variables to achieve their behavior.
P is a zero-argument procedure defining the critical section.
Reentrant means that the same thread is allowed to reenter the lock. Calls to the lock may therefore be nested. The lock is released automatically if the thread in the body terminates or raises an exception that escapes the lock body. A port P encapsulates a stream S . A stream is a list with unbound tail.