The present invention relates generally to object-oriented computer systems in which two or more threads of execution can be synchronized with respect to an object, and particularly to a system and method for synchronizing threads with an object where a given thread may lock the same object repeatedly.