Patent ID: 7823158

Claim:
A computer-implemented method for processing work in a processing context of a computing environment, the method comprising: (i) determining, for a processing context comprising an executing processing thread with a data space comprising a regular unit of work queue identifying units of work to be processed, an out of execution order unit of work queue identifying units of work in the regular unit of work queue which may be processed out of execution order, and a stack identifying resources that the executing processing thread is waiting for to process one or more suspended units of work, whether a last-in identified resource in the stack is now available, and if so, resuming processing of a suspended unit of work requiring the last-in identified resource in the stack; (ii) determining, otherwise from the out of execution order unit of work queue, whether an out of execution order unit of work is available for processing, and if so, processing the out of execution order unit of work while the suspended unit of work awaits the last-in identified resource in the stack; and (iii) repeating the determining (ii) until the last-in identified resource of the stack is available, or until no further out of execution order unit of work is available in the processing context, and if so, placing the processing context in a SLEEP state.