Patent ID: 8312470

Claim:
A method for implementing process thread locking operations in a concurrent programming environment, the method comprising: defining a lock structure comprising data fields, the data fields including: a process thread identifier that uniquely identifies each thread that is common to a process; and a shared object identifier that uniquely identifies a shared object subject to lock operations by each thread in the process; using the lock structure to build a lock table for internal use by the process, the lock table including lock structures for each process thread in the process, the lock table searchable by the process thread identifier in response to a request for a shared object from a calling thread in the process; determining a lock status of the shared object in the lock table via a corresponding process thread identifier of the calling process thread, an address of the requested shared object, and the shared object identifier, wherein the lock status indicates whether the shared object is currently locked by the calling process thread; in response to the lock status, performing one of: obtaining a lock on the shared object when the request is for a lock, and releasing a lock on the shared object when the request is to unlock the shared object; in response to the request for the shared object, dynamically creating a lock word by setting a value in a portion of the lock word, the value in the lock word specifying the lock word as a system controlled resource; and storing the lock word in the lock table, the lock word stored separately from the shared object; wherein the lock word represents the shared object identifier and differentiates the lock word from a system controlled lock word.