1. A method comprising: associating a mutual exclusion lock with a shared data item; and providing ownership of the mutual exclusion lock to multiple processing agents that execute code operating on the shared data item in a sequential order.