20.4. Concurrency control through locking
We assume a manager for each object, as discussed in Chapter 19. Figure 20.3 shows an object which is now assumed to have a lock and unlock operation as well as those previously discussed. We assume that an object can be locked and only the holder of the lock can invoke an operation on the object. Locking a single object does not solve the problems introduced in Chapter 17 since the essence of the problem is how to carry out related operations on distinct objects. A number of locks are needed for a composite operation.
Figure 20.3. An object used in a transaction system.
We assume that the objects are located ...